Yanıtlar:
nginx -Vyapılandırılan tüm modülleri listeler. Açık bir etkinleştirme / yükleme komutu yoktur.
sudo nginx -V
sudoUbuntu 14.04
nginx -V
Dağıtılabilir tek astar:
2>&1 nginx -V | tr -- - '\n' | grep _module
İki ortamı karşılaştırmak için uygun:
lsmodn="2>&1 nginx -V | tr -- - '\n' | grep _module"
diff -y <(ssh www-prd eval $lsmodn) <(ssh www-qa eval $lsmodn)
DÜZENLE:
--withoutModül derleme bayraklarını içerdiğine dikkat çektiğiniz için Roman Newaza'ya teşekkür ederiz . --withoutBayrakları kullanmıyorum ve sadece modül listesini almaya odaklanmıştım, bu yüzden bunu anlamadım; tek astar, 2 kurulum arasında bayrakların derlenmesini sağlamak için değiştirilebilir:
2>&1 nginx -V | tr ' ' '\n'
ki aynı:
2>&1 nginx -V | xargs -n1
Belki ayrıca sortderleme bayraklarının kendine özgü sıralamasını normale döndürmek ve trtekrar atama işlemlerini farklı satırlara bölmek için kullandırabiliriz. Son sonuç:
lsmodn="2>&1 nginx -V | xargs -n1 | sort | tr = '\n'"
diff -y <(ssh www-prd eval $lsmodn) <(ssh www-qa eval $lsmodn)
Bu sort, her iki uzak ana bilgisayarda da aynı şekilde davranırsa çalışır (yani, her ikisi de GNU veya BSD'dir). Linux'u BSD (Mac OS X) ile karşılaştırıyorsanız, | sort | tr = '\n'parçayı tutarlı olacak lsmodnyerel kabuğa götürmeniz sortyeterlidir:
lsmodn="2>&1 nginx -V | xargs -n1"
diff -y <(ssh linux eval $lsmodn | sort | tr = '\n') <(ssh macosx eval $lsmodn | sort | tr = '\n')
Messier, ama işe yarıyor.
2>&1 nginx -V | tr -- - '\n' | grep _modulekomutu, yüklü olmadan * seçeneklerinin listelendiği gibi tamamen yanlıştır!
nginx -VKomutu (büyük harf V) tüm modülleri, hem de diğer derleme zamanı seçeneklerini listeler:
%nginx -V
nginx version: nginx/1.2.2
built by gcc 4.2.1 20070719
TLS SNI support enabled
configure arguments: --prefix=/var/www --conf-path=/etc/nginx/nginx.conf --sbin-path=/usr/sbin/nginx --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-log-path=logs/access.log --error-log-path=logs/error.log --http-client-body-temp-path=/var/www/cache/client_body_temp --http-proxy-temp-path=/var/www/cache/proxy_temp --http-fastcgi-temp-path=/var/www/cache/fastcgi_temp --http-scgi-temp-path=/var/www/cache/scgi_temp --http-uwsgi-temp-path=/var/www/cache/uwsgi_temp --user=www --group=www --with-http_gzip_static_module --with-http_ssl_module --with-http_stub_status_module --with-ipv6 --without-mail_pop3_module --without-mail_imap_module --without-mail_smtp_module
%
sudoSüper kullanıcı güçlerine yalnızca aşağıdaki bağlantı noktalarını açmak için nginx'e ihtiyaç duyacağına dikkat edin, çünkü bu komut için hiçbir zaman gerek yoktur, IPPORT_RESERVEDörneğin 1024'ün altındaki bağlantı noktaları ve / veya yazmak için belirli günlük dosyaları.
Ancak, $PATHayarlarınıza bağlı olarak , tam yolu belirtmeniz gerekebilir - örneğin /usr/sbin/nginx -V, ya da gerçekten sudouygun /sbin/dizinin içine dahil edilmesi için kullanma $PATH.
Daha yeni nginx sürümleriyle başlayan - nginx 1.9.11(Şubat 2016'dan beri ) - dinamik olarak yüklenebilir modüller artık desteklenmektedir - http://nginx.org/r/load_module - load_moduledirektifin yardımıyla .