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.

  1. Ο απόλυτος οδηγός για την ασφάλεια, τη σκλήρυνση και τη βελτίωση της απόδοσης του διακομιστή Web Nginx
  2. Amplify – Η παρακολούθηση NGINX έγινε εύκολη
  3. ngxtop – Παρακολούθηση αρχείων καταγραφής Nginx σε πραγματικό χρόνο στο Linux
  4. Πώς να εγκαταστήσετε το Nginx με εικονικούς κεντρικούς υπολογιστές και πιστοποιητικό SSL
  5. Πώς να κρύψετε την έκδοση διακομιστή Nginx στο Linux

Αυτα για τωρα! Σε αυτόν τον οδηγό, έχουμε εξηγήσει μερικές από τις πιο συχνά χρησιμοποιούμενες εντολές διαχείρισης υπηρεσιών Nginx που πρέπει να γνωρίζετε, συμπεριλαμβανομένης της εκκίνησης, ενεργοποίησης, επανεκκίνησης και διακοπής του Nginx. Εάν έχετε οποιεσδήποτε προσθήκες ή ερωτήσεις να κάνετε, χρησιμοποιήστε την παρακάτω φόρμα σχολίων.