Iwu 10 Nginx kacha eji eme ihe Onye ọrụ Linux ọ bụla ga-amarịrị


Nginx (akpọ Engine x) bụ n'efu, oghere mepere emepe, arụmọrụ dị elu, enwere ike, ntụkwasị obi, zuru oke na HTTP na-ewu ewu na sava proxy reverse, ihe nkesa proxy mail, yana sava proxy TCP/UDP.

A maara Nginx nke ọma maka nhazi ya dị mfe, yana oriri ihe onwunwe dị ala n'ihi ọrụ ya dị elu, a na-eji ya mee ka ọtụtụ saịtị ndị na-eme njem dị elu na weebụ, dị ka GitHub, SoundCloud, Dropbox, Netflix, WordPress na ọtụtụ ndị ọzọ.

N'ime ntuziaka a, anyị ga-akọwa ụfọdụ n'ime iwu njikwa ọrụ Nginx a na-ejikarị eme ihe na, dịka onye nrụpụta ma ọ bụ onye nchịkwa sistemụ, ị ga-edobe n'aka gị. Anyị ga-egosi iwu maka ma Systemd na SysVinit.

A ga-egburịrị ndepụta ndị a niile nke iwu Nginx a ma ama dị ka mgbọrọgwụ ma ọ bụ onye ọrụ sudo wee rụọ ọrụ na nkesa Linux ọ bụla dị ka CentOS, RHEL, Debian, Ubuntu na Fedora.

Wụnye Nginx Server

Ka ịwụnye sava weebụ Nginx, jiri njikwa ngwungwu nkesa ndabere gị dịka egosiri.

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

Lelee ụdị Nginx

Ka ịlele ụdị nke sava weebụ Nginx arụnyere na sistemụ Linux gị, mee iwu a.

$ nginx -v

nginx version: nginx/1.12.2

Iwu dị n'elu na-egosipụta naanị nọmba ụdị. Ọ bụrụ na ịchọrọ ịlele ụdị na hazie nhọrọ wee jiri ọkọlọtọ -V dị ka egosiri.

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

Lelee syntax nhazi Nginx

Tupu ịmalite ọrụ Nginx, ị nwere ike ịlele ma syntax nhazi ya ọ bụ eziokwu. Nke a bara uru karịsịa ma ọ bụrụ na ịmeela mgbanwe ma ọ bụ tinye nhazi ọhụrụ na nhazi nhazi dị ugbu a.

Iji nwalee nhazi Nginx, mee iwu a.

$ sudo nginx -t

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

Ị nwere ike ịnwale nhazi Nginx, tụfuo ya wee pụọ site na iji ọkọlọtọ -T dị ka egosiri.

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

....

Malite ọrụ Nginx

Iji malite ọrụ Nginx, mee iwu a. Rịba ama na usoro a nwere ike ịda ma ọ bụrụ na nhazi nhazi adịghị mma.

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

Kwado ọrụ Nginx

Iwu gara aga na-amalite ọrụ naanị maka oge a, iji mee ka ọ malite na akpaghị aka n'oge buut, mee iwu a.

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

Malitegharịa ọrụ Nginx

Ka ịmalitegharịa ọrụ Nginx, ihe ga-akwụsị wee malite ọrụ ahụ.

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

Lelee ọkwa ọrụ Nginx

Ị nwere ike ịlele ọkwa ọrụ Nginx dị ka ndị a. Iwu a na-egosi ọkwa oge ịgba ọsọ gbasara ọrụ ahụ.

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

Bugharịa ọrụ Nginx

Iji gwa Nginx ka ọ bugharịa nhazi ya, jiri iwu a.

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

Kwụsị ọrụ Nginx

Ọ bụrụ na ịchọrọ ịkwụsị ọrụ Nginx otu ugboro ma ọ bụ nke ọzọ, jiri iwu na-esonụ.

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

Gosi Enyemaka Iwu Nginx

Iji nweta ntuziaka ntụaka dị mfe nke iwu na nhọrọ Nginx niile, jiri iwu na-eso.

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

Ị nwekwara ike ịmasị ịgụ akụkọ Nginx ndị a na-esote.

  1. Nduzi kacha mma maka nchekwa, sie ike na kwalite arụmọrụ nke sava Webụ Nginx
  2. Mbawanye – Nleba anya NGINX dị mfe
  3. ngxtop – Nyochaa Nginx Log Files na ezigbo oge na Linux
  4. Otu esi etinye Nginx site na iji Virtual Hosts na Asambodo SSL
  5. Etu esi ezobe ụdị nkesa Nginx na Linux

Nke ahụ bụ ihe niile ugbu a! N'ime ntuziaka a, anyị akọwala ụfọdụ iwu njikwa ọrụ Nginx a na-ejikarị eme ihe nke ị kwesịrị ịma, gụnyere ịmalite, inye, ịmalitegharị na ịkwụsị Nginx. Ọ bụrụ na ị nwere mgbakwunye ọ bụla ma ọ bụ ajụjụ ị ga-ajụ, jiri ụdị nzaghachi dị n'okpuru.