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.
- Nginx Web Sunucusunun Güvenliğini Sağlamak, Güçlendirmek ve Performansını Artırmak için En İyi Kılavuz
- Amplify – NGINX İzleme Artık Kolaylaştı
- ngxtop - Linux'ta Nginx Günlük Dosyalarını Gerçek Zamanlı Olarak İzleyin
- Nginx Sanal Ana Bilgisayarlar ve SSL Sertifikası ile Nasıl Kurulur
- 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.