Her Linux Kullanıcısının Bilmesi Gereken En Çok Kullanılan 10 Nginx Komutu


Nginx (Motor x olarak telaffuz edilir) ücretsiz, açık kaynaklı, yüksek performanslı, ölçeklenebilir, güvenilir, tam özellikli ve popüler bir HTTP ve ters proxy sunucusu, bir posta proxy sunucusu ve genel bir TCP/ UDP proxy sunucusu.

Nginx, basit yapılandırması ve yüksek performansı nedeniyle düşük kaynak tüketimiyle tanınır. Web'deki GitHub gibi yüksek trafiğe sahip birçok siteye güç sağlamak için kullanılıyor. , SoundCloud, Dropbox, Netflix, WordPress ve diğerleri.

Ayrıca Okuyun: Her Linux Kullanıcısının Bilmesi Gereken 3 Faydalı Hack

Bu kılavuzda, bir geliştirici veya sistem yöneticisi olarak parmaklarınızın ucunda bulundurmanız gereken, en sık kullanılan Nginx hizmet yönetimi komutlarından bazılarını açıklayacağız. Hem Systemd hem de SysVinit için komutlar göstereceğiz.

Aşağıdaki Nginx popüler komutlarının tümü, root veya sudo kullanıcısı olarak çalıştırılmalı ve CentOS gibi herhangi bir modern Linux dağıtımında çalışmalıdır. , RHEL, Debian, Ubuntu ve Fedora.

Nginx Sunucusunu Kurun

Nginx web sunucusunu yüklemek için gösterildiği gibi varsayılan dağıtım paketi yöneticinizi kullanın.


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 Sürümünü Kontrol Edin

Linux sisteminizde yüklü olan Nginx web sunucusunun sürümünü kontrol etmek için aşağıdaki komutu çalıştırın.

nginx -v

nginx version: nginx/1.12.2

Yukarıdaki komut yalnızca sürüm numarasını görüntüler. Sürümü görüntülemek ve seçenekleri yapılandırmak istiyorsanız gösterildiği gibi -V işaretini kullanın.

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 Yapılandırma Sözdizimini Kontrol Edin

Nginx hizmetini gerçekten başlatmadan önce, yapılandırma sözdiziminin doğru olup olmadığını kontrol edebilirsiniz. Bu, özellikle mevcut konfigürasyon yapısında değişiklik yaptıysanız veya yeni bir konfigürasyon eklediyseniz kullanışlıdır.

Nginx yapılandırmasını test etmek için aşağıdaki komutu çalıştırın.

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 yapılandırmasını test edebilir, boşaltabilir ve gösterildiği gibi -T işaretini kullanarak çıkabilirsiniz.

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 Hizmetini Başlat

Nginx hizmetini başlatmak için aşağıdaki komutu çalıştırın. Yapılandırma söz dizimi tamam değilse bu işlemin başarısız olabileceğini unutmayın.

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

Nginx Hizmetini Etkinleştir

Önceki komut yalnızca hizmeti bu arada başlatır; önyükleme sırasında otomatik olarak başlatılmasını etkinleştirmek için aşağıdaki komutu çalıştırın.

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

Nginx Hizmetini Yeniden Başlatın

Nginx hizmetini yeniden başlatmak için, hizmeti durduracak ve ardından başlatacak bir eylem.

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

Nginx Hizmet Durumunu Görüntüle

Nginx hizmetinin durumunu aşağıdaki şekilde kontrol edebilirsiniz. Bu komut, hizmetle ilgili çalışma zamanı durum bilgilerini gösterir.

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 Hizmetini Yeniden Yükle

Nginx'e yapılandırmasını yeniden yüklemesini söylemek için aşağıdaki komutu kullanın.

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

Nginx Hizmetini Durdurun

Nginx hizmetini herhangi bir nedenle durdurmak istiyorsanız aşağıdaki komutu kullanın.

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

Nginx Komut Yardımını Göster

Tüm Nginx komutları ve seçenekleriyle ilgili kolay bir başvuru kılavuzuna ulaşmak için aşağıdaki komutu kullanın.

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

Aşağıdaki Nginx ile ilgili makaleleri de okumak isteyebilirsiniz.

  1. Nginx Web Sunucusunun Güvenliğini Sağlamak, Güçlendirmek ve Performansını Artırmak için En İyi Kılavuz
  2. Amplify – NGINX İzleme Artık Kolaylaştı
  3. ngxtop - Linux'ta Nginx Günlük Dosyalarını Gerçek Zamanlı Olarak İzleyin
  4. Nginx Sanal Ana Bilgisayarlar ve SSL Sertifikası ile Nasıl Kurulur
  5. Linux'ta Nginx Sunucu Sürümü Nasıl Gizlenir

Şimdilik bu kadar! Bu kılavuzda, Nginx'i başlatma, etkinleştirme, yeniden başlatma ve durdurma dahil, bilmeniz gereken en sık kullanılan Nginx hizmet yönetimi komutlarından bazılarını açıkladık. Eklemek veya sormak istediğiniz sorularınız varsa aşağıdaki geri bildirim formunu kullanın.