10 πιο χρησιμοποιούμενες εντολές Nginx που πρέπει να γνωρίζει κάθε χρήστης Linux
Το Nginx (προφέρεται Engine x) είναι ένας δωρεάν, ανοιχτού κώδικα, υψηλής απόδοσης, επεκτάσιμος, αξιόπιστος, με πλήρη χαρακτηριστικά και δημοφιλής διακομιστής HTTP και ανάστροφος διακομιστής μεσολάβησης, ένας διακομιστής μεσολάβησης αλληλογραφίας και ένα γενικό TCP/ Διακομιστής μεσολάβησης UDP.
Το Nginx είναι γνωστό για την απλή του διαμόρφωση και τη χαμηλή κατανάλωση πόρων λόγω της υψηλής απόδοσης του, χρησιμοποιείται για την τροφοδοσία πολλών ιστότοπων υψηλής επισκεψιμότητας στον ιστό, όπως το GitHub , SoundCloud, Dropbox, Netflix, WordPress και πολλά άλλα.
Διαβάστε επίσης: 3 χρήσιμες εισβολές που πρέπει να γνωρίζει κάθε χρήστης Linux
Σε αυτόν τον οδηγό, θα εξηγήσουμε μερικές από τις πιο συχνά χρησιμοποιούμενες εντολές διαχείρισης υπηρεσιών Nginx τις οποίες, ως προγραμματιστής ή διαχειριστής συστήματος, θα πρέπει να έχετε στα χέρια σας. Θα εμφανίσουμε εντολές και για το Systemd και για το SysVinit.
Όλες αυτές οι ακόλουθη λίστα δημοφιλών εντολών Nginx πρέπει να εκτελούνται ως χρήστης root ή sudo και θα πρέπει να λειτουργούν σε οποιαδήποτε σύγχρονη διανομή Linux, όπως το CentOS , RHEL, Debian, Ubuntu και Fedora.
Εγκαταστήστε τον διακομιστή Nginx
Για να εγκαταστήσετε τον διακομιστή ιστού Nginx, χρησιμοποιήστε τον προεπιλεγμένο διαχειριστή πακέτων διανομής όπως φαίνεται.
sudo yum install epel-release && yum install nginx [On CentOS/RHEL]
sudo dnf install nginx [On Fedora]
sudo apt install nginx [On Debian/Ubuntu]
Ελέγξτε την έκδοση Nginx
Για να ελέγξετε την έκδοση του διακομιστή web Nginx που είναι εγκατεστημένο στο σύστημα Linux, εκτελέστε την ακόλουθη εντολή.
nginx -v
nginx version: nginx/1.12.2
Η παραπάνω εντολή απλώς εμφανίζει τον αριθμό έκδοσης. Εάν θέλετε να δείτε την έκδοση και να διαμορφώσετε τις επιλογές, χρησιμοποιήστε τη σημαία -V
όπως φαίνεται.
nginx -V
nginx version: nginx/1.12.2
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC)
built with OpenSSL 1.0.2k-fips 26 Jan 2017
TLS SNI support enabled
configure arguments: --prefix=/usr/share/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --http-client-body-temp-path=/var/lib/nginx/tmp/client_body --http-proxy-temp-path=/var/lib/nginx/tmp/proxy --http-fastcgi-temp-path=/var/lib/nginx/tmp/fastcgi --http-uwsgi-temp-path=/var/lib/nginx/tmp/uwsgi --http-scgi-temp-path=/var/lib/nginx/tmp/scgi --pid-path=/run/nginx.pid --lock-path=/run/lock/subsys/nginx --user=nginx --group=nginx --with-file-aio --with-ipv6 --with-http_auth_request_module --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module=dynamic --with-http_image_filter_module=dynamic --with-http_geoip_module=dynamic --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_degradation_module --with-http_slice_module --with-http_stub_status_module --with-http_perl_module=dynamic --with-mail=dynamic --with-mail_ssl_module --with-pcre --with-pcre-jit --with-stream=dynamic --with-stream_ssl_module --with-google_perftools_module --with-debug --with-cc-opt='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic' --with-ld-opt='-Wl,-z,relro -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -Wl,-E'
Ελέγξτε τη σύνταξη διαμόρφωσης Nginx
Πριν ξεκινήσετε πραγματικά την υπηρεσία Nginx, μπορείτε να ελέγξετε εάν η σύνταξη της διαμόρφωσής της είναι σωστή. Αυτό είναι ιδιαίτερα χρήσιμο εάν έχετε κάνει αλλαγές ή έχετε προσθέσει μια νέα διαμόρφωση στην υπάρχουσα δομή διαμόρφωσης.
Για να δοκιμάσετε τη διαμόρφωση Nginx, εκτελέστε την ακόλουθη εντολή.
sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Μπορείτε να δοκιμάσετε τη διαμόρφωση Nginx, να την απορρίψετε και να βγείτε χρησιμοποιώντας τη σημαία -T
όπως φαίνεται.
sudo nginx -T
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
configuration file /etc/nginx/nginx.conf:
For more information on configuration, see:
* Official English Documentation: http://nginx.org/en/docs/
* Official Russian Documentation: http://nginx.org/ru/docs/
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
Load dynamic modules. See /usr/share/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;
events {
worker_connections 1024;
}
http {
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
include /etc/nginx/mime.types;
default_type application/octet-stream;
# Load modular configuration files from the /etc/nginx/conf.d directory.
# See http://nginx.org/en/docs/ngx_core_module.html#include
# for more information.
include /etc/nginx/conf.d/*.conf;
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
root /usr/share/nginx/html;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
....
Ξεκινήστε την υπηρεσία Nginx
Για να ξεκινήσετε την υπηρεσία Nginx, εκτελέστε την ακόλουθη εντολή. Λάβετε υπόψη ότι αυτή η διαδικασία ενδέχεται να αποτύχει εάν η σύνταξη διαμόρφωσης δεν είναι OK.
sudo systemctl start nginx #systemd
OR
sudo service nginx start #sysvinit
Ενεργοποιήστε την υπηρεσία Nginx
Η προηγούμενη εντολή ξεκινά μόνο την υπηρεσία εν τω μεταξύ, για να ενεργοποιήσετε την αυτόματη εκκίνηση κατά την εκκίνηση, εκτελέστε την ακόλουθη εντολή.
sudo systemctl enable nginx #systemd
OR
sudo service nginx enable #sysv init
Επανεκκινήστε την υπηρεσία Nginx
Για να επανεκκινήσετε την υπηρεσία Nginx, μια ενέργεια που θα σταματήσει και στη συνέχεια θα ξεκινήσει η υπηρεσία.
sudo systemctl restart nginx #systemd
OR
sudo service nginx restart #sysv init
Προβολή κατάστασης υπηρεσίας Nginx
Μπορείτε να ελέγξετε την κατάσταση της υπηρεσίας Nginx ως εξής. Αυτή η εντολή δείχνει τις πληροφορίες κατάστασης χρόνου εκτέλεσης σχετικά με την υπηρεσία.
sudo systemctl status nginx #systemd
OR
sudo service nginx status #sysvinit
Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.
[root@tecmint ~]# systemctl status nginx
● nginx.service - The nginx HTTP and reverse proxy server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled)
Active: active (running) since Tue 2019-03-05 05:27:15 EST; 2min 59s ago
Main PID: 31515 (nginx)
CGroup: /system.slice/nginx.service
├─31515 nginx: master process /usr/sbin/nginx
└─31516 nginx: worker process
Mar 05 05:27:15 linux-console.net systemd[1]: Starting The nginx HTTP and reverse proxy server...
Mar 05 05:27:15 linux-console.net nginx[31509]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
Mar 05 05:27:15 linux-console.net nginx[31509]: nginx: configuration file /etc/nginx/nginx.conf test is successful
Mar 05 05:27:15 linux-console.net systemd[1]: Failed to read PID from file /run/nginx.pid: Invalid argument
Mar 05 05:27:15 linux-console.net systemd[1]: Started The nginx HTTP and reverse proxy server.
Επαναφόρτωση της υπηρεσίας Nginx
Για να πείτε στο Nginx να φορτώσει ξανά τη διαμόρφωσή του, χρησιμοποιήστε την ακόλουθη εντολή.
sudo systemctl reload nginx #systemd
OR
sudo service nginx reload #sysvinit
Σταματήστε την υπηρεσία Nginx
Εάν θέλετε να διακόψετε την υπηρεσία Nginx για έναν ή τον άλλο λόγο, χρησιμοποιήστε την ακόλουθη εντολή.
sudo systemctl stop nginx #systemd
OR
sudo service nginx stop #sysvinit
Εμφάνιση Βοήθειας Εντολών Nginx
Για να λάβετε έναν εύκολο οδηγό αναφοράς για όλες τις εντολές και τις επιλογές Nginx, χρησιμοποιήστε την παρακάτω εντολή.
systemctl -h nginx
systemctl [OPTIONS...] {COMMAND} ...
Query or send control commands to the systemd manager.
-h --help Show this help
--version Show package version
--system Connect to system manager
-H --host=[USER@]HOST
Operate on remote host
-M --machine=CONTAINER
Operate on local container
-t --type=TYPE List units of a particular type
--state=STATE List units with particular LOAD or SUB or ACTIVE state
-p --property=NAME Show only properties by this name
-a --all Show all loaded units/properties, including dead/empty
ones. To list all units installed on the system, use
the 'list-unit-files' command instead.
-l --full Don't ellipsize unit names on output
-r --recursive Show unit list of host and local containers
--reverse Show reverse dependencies with 'list-dependencies'
--job-mode=MODE Specify how to deal with already queued jobs, when
queueing a new job
--show-types When showing sockets, explicitly show their type
-i --ignore-inhibitors
...
Μπορεί επίσης να θέλετε να διαβάσετε αυτά τα ακόλουθα άρθρα σχετικά με το Nginx.
- Ο απόλυτος οδηγός για την ασφάλεια, τη σκλήρυνση και τη βελτίωση της απόδοσης του διακομιστή Web Nginx
- Amplify – Η παρακολούθηση NGINX έγινε εύκολη
- ngxtop – Παρακολούθηση αρχείων καταγραφής Nginx σε πραγματικό χρόνο στο Linux
- Πώς να εγκαταστήσετε το Nginx με εικονικούς κεντρικούς υπολογιστές και πιστοποιητικό SSL
- Πώς να κρύψετε την έκδοση διακομιστή Nginx στο Linux
Αυτα για τωρα! Σε αυτόν τον οδηγό, έχουμε εξηγήσει μερικές από τις πιο συχνά χρησιμοποιούμενες εντολές διαχείρισης υπηρεσιών Nginx που πρέπει να γνωρίζετε, συμπεριλαμβανομένης της εκκίνησης, ενεργοποίησης, επανεκκίνησης και διακοπής του Nginx. Εάν έχετε οποιεσδήποτε προσθήκες ή ερωτήσεις να κάνετε, χρησιμοποιήστε την παρακάτω φόρμα σχολίων.