10 Mafi Amfani da Dokokin Nginx Kowane Mai Amfani da Linux Dole ne ya sani


Nginx (lafazin Injin x) kyauta ne, tushen buɗe ido, babban aiki, mai daidaitawa, abin dogaro, cikakken fasali da mashahurin HTTP da uwar garken wakili na baya, uwar garken wakili na wasiku, da sabar wakili na TCP/UDP.

Nginx sananne ne don daidaitawa mai sauƙi, da ƙarancin amfani da albarkatu saboda babban aikin sa, ana amfani da shi don sarrafa manyan wuraren zirga-zirgar ababen hawa a kan yanar gizo, kamar GitHub, SoundCloud, Dropbox, Netflix, WordPress da sauran su.

A cikin wannan jagorar, za mu yi bayanin wasu umarni na gudanarwar sabis na Nginx da aka fi amfani da su waɗanda, a matsayin mai haɓakawa ko mai gudanar da tsarin, yakamata ku kiyaye a yatsanku. Za mu nuna umarni don duka Systemd da SysVinit.

Duk waɗannan jerin shahararrun umarnin Nginx dole ne a kashe su azaman tushen ko mai amfani da sudo kuma yakamata suyi aiki akan kowane rarraba Linux na zamani kamar CentOS, RHEL, Debian, Ubuntu da Fedora.

Shigar Nginx Server

Don shigar da sabar gidan yanar gizo na Nginx, yi amfani da tsoho mai sarrafa fakitin rarraba kamar yadda aka nuna.

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

Duba sigar Nginx

Don bincika sigar sabar gidan yanar gizo ta Nginx da aka shigar akan tsarin Linux ɗinku, gudanar da umarni mai zuwa.

$ nginx -v

nginx version: nginx/1.12.2

Umurnin da ke sama yana nuna kawai lambar sigar. Idan kana son duba sigar da saita zaɓuɓɓuka to yi amfani da tutar -V kamar yadda aka nuna.

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

Duba Haɗin Kanfigareshan Nginx

Kafin ka fara aikin Nginx a zahiri, zaku iya bincika ko daidaitawar tsarin sa daidai ne. Wannan yana da amfani musamman idan kun yi canje-canje ko ƙara sabon tsari zuwa tsarin daidaitawa da ke akwai.

Don gwada tsarin Nginx, gudanar da umarni mai zuwa.

$ sudo nginx -t

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

Kuna iya gwada tsarin Nginx, zubar da shi kuma fita ta amfani da alamar -T kamar yadda aka nuna.

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

....

Fara Sabis na Nginx

Don fara sabis na Nginx, gudanar da umarni mai zuwa. Lura cewa wannan tsari na iya gazawa idan tsarin daidaitawa bai yi kyau ba.

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

Kunna Sabis na Nginx

Umurnin da ya gabata yana farawa sabis ne kawai don yanzu, don kunna ta atomatik a lokacin taya, gudanar da umarni mai zuwa.

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

Sake kunna Sabis na Nginx

Don sake kunna sabis na Nginx, aikin da zai tsaya sannan fara sabis ɗin.

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

Duba Matsayin Sabis na Nginx

Kuna iya duba matsayin sabis na Nginx kamar haka. Wannan umarnin yana nuna bayanin matsayin lokacin gudu game da sabis ɗin.

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

Sake saka Sabis na Nginx

Don gaya wa Nginx don sake shigar da tsarin sa, yi amfani da umarni mai zuwa.

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

Dakatar da Sabis na Nginx

Idan kana son dakatar da sabis na Nginx sau ɗaya ko ɗaya, yi amfani da umarni mai zuwa.

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

Nuna Taimakon Umurnin Nginx

Don samun sauƙin jagorar duk umarni da zaɓuɓɓukan Nginx, yi amfani da umarni mai zuwa.

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

Hakanan kuna iya son karanta waɗannan labaran Nginx masu zuwa.

  1. Ƙarshen Jagora don Aminta, Taurare da Inganta Ayyukan Sabar Yanar Gizo ta Nginx
  2. Ƙara - NGINX Sa Ido Yayi Sauƙi
  3. ngxtop - Kula da Fayilolin Log na Nginx a cikin Ainihin Lokaci a Linux
  4. Yadda ake Sanya Nginx tare da Mai Runduna Mai Kyau da Takaddun shaida na SSL
  5. Yadda ake Boye Sigar Sabar Nginx a Linux

Wannan ke nan a yanzu! A cikin wannan jagorar, mun bayyana wasu umarnin gudanarwar sabis na Nginx da aka fi amfani da su waɗanda yakamata ku sani, gami da farawa, kunnawa, sake farawa da dakatar da Nginx. Idan kuna da wasu ƙari ko tambayoyi da za ku yi, yi amfani da fom ɗin amsa da ke ƙasa.