10 meescht benotzte Nginx Kommandoen All Linux Benotzer muss wëssen


Nginx (ausgeschwat Engine x) ass e gratis, Open-Source, héich performant, skalierbar, zouverlässeg, vollstänneg a populär HTTP- a Reverse Proxy Server, e Mail Proxy Server, an e generesche TCP/UDP Proxy Server.

Nginx ass bekannt fir seng einfach Konfiguratioun, a gerénge Ressourceverbrauch wéinst senger héijer Leeschtung, et gëtt benotzt fir verschidde High-Traffic-Siten um Internet z'ënnerstëtzen, sou wéi GitHub, SoundCloud, Dropbox, Netflix, WordPress a vill anerer.

An dësem Guide erkläre mir e puer vun den am meeschte benotzten Nginx Service Management Kommandoen, déi Dir als Entwéckler oder Systemadministrator bei Äre Fingerspëtze sollt halen. Mir weisen Kommandoe fir béid Systemd a SysVinit.

All dës folgend Lëscht vun Nginx populäre Kommandoen mussen als Root oder Sudo Benotzer ausgefouert ginn a sollen op all modern Linux Verdeelung wéi CentOS, RHEL, Debian, Ubuntu a Fedora funktionnéieren.

Installéiert Nginx Server

Fir den Nginx Webserver z'installéieren, benotzt Äre Standardverdeelungspaketmanager wéi gewisen.

$ sudo yum install epel-release && yum install nginx   [On CentOS/RHEL]
$ sudo dnf install nginx                               [On Debian/Ubuntu]
$ sudo apt install nginx                               [On Fedora]

Kuckt d'Nginx Versioun

Fir d'Versioun vum Nginx Webserver op Ärem Linux System installéiert ze kontrolléieren, fuert de folgende Kommando.

$ nginx -v

nginx version: nginx/1.12.2

Deen uewe genannte Kommando weist einfach d'Versiounsnummer. Wann Dir d'Versioun wëllt kucken an d'Optiounen konfiguréieren, da benotzt de -V Fändel wéi gewisen.

$ 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'

Iwwerpréift Nginx Konfiguratioun Syntax

Ier Dir den Nginx Service tatsächlech ufänkt, kënnt Dir kucken ob seng Konfiguratiounssyntax richteg ass. Dëst ass besonnesch nëtzlech wann Dir Ännerungen gemaach hutt oder eng nei Konfiguratioun un déi existent Konfiguratiounsstruktur bäigefüügt hutt.

Fir d'Nginx Konfiguratioun ze testen, fuert de folgende Kommando.

$ sudo nginx -t

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Dir kënnt d'Nginx Konfiguratioun testen, dumpen an erausgoen mat dem -T Fändel wéi gewisen.

$ 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 {
        }
    }

....

Start Nginx Service

Fir den Nginx Service ze starten, fuert de folgende Kommando. Bedenkt datt dëse Prozess versoen kann wann d'Konfiguratioun Syntax net OK ass.

$ sudo systemctl start nginx #systemd
OR
$ sudo service nginx start   #sysvinit

Nginx Service aktivéieren

De fréiere Kommando fänkt de Service nëmmen fir d'Tëschenzäit un, fir et automatesch unzefänken bei der Bootzäit, fuert de folgende Kommando.

$ sudo systemctl enable nginx #systemd
OR
$ sudo service nginx enable   #sysv init

Restart Nginx Service

Fir den Nginx Service nei ze starten, eng Handlung déi stoppt an dann de Service starten.

$ sudo systemctl restart nginx #systemd
OR
$ sudo service nginx restart   #sysv init

View Nginx Service Status

Dir kënnt de Status vum Nginx Service kontrolléieren wéi follegt. Dëse Kommando weist d'Laufzäitstatusinformatioun iwwer de Service.

$ 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.
 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.

Reload Nginx Service

Fir Nginx ze soen fir seng Konfiguratioun nei ze lueden, benotzt de folgende Kommando.

$ sudo systemctl reload nginx #systemd
OR
$ sudo service nginx reload   #sysvinit

Stop Nginx Service

Wann Dir den Nginx Service fir eng Kéier oder déi aner wëllt stoppen, benotzt de folgende Kommando.

$ sudo systemctl stop nginx #systemd
OR
$ sudo service nginx stop   #sysvinit

Nginx Kommando Hëllef weisen

Fir en einfache Referenzguide vun all Nginx Kommandoen an Optiounen ze kréien, benotzt folgend Kommando.

$ 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=[[email ]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
...

Dir kënnt och gär dës folgend Nginx-relatéiert Artikelen liesen.

  1. Den Ultimate Guide fir d'Performance vum Nginx Web Server ze sécheren, härden an ze verbesseren
  2. Amplify - NGINX Monitoring Made Easy
  3. ngxtop - Monitor Nginx Log Dateien an Echtzäit op Linux
  4. Wéi installéiere ech Nginx mat virtuelle Hosten an SSL Zertifika
  5. Wéi verstoppen ech Nginx Server Versioun a Linux

Dat ass alles fir elo! An dësem Guide hu mir e puer vun de meescht benotzt Nginx Service Management Kommandoen erkläert, déi Dir wësse sollt, inklusiv Starten, Aktivéieren, Neistarten an Stoppen Nginx. Wann Dir Ergänzunge oder Froen hutt fir ze stellen, benotzt de Feedbackformular hei ënnen.