Yanıtlar:
nginx -V
yapılandırılan tüm modülleri listeler. Açık bir etkinleştirme / yükleme komutu yoktur.
sudo nginx -V
sudo
Ubuntu 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:
--without
Modül derleme bayraklarını içerdiğine dikkat çektiğiniz için Roman Newaza'ya teşekkür ederiz . --without
Bayrakları 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 sort
derleme bayraklarının kendine özgü sıralamasını normale döndürmek ve tr
tekrar 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 lsmodn
yerel kabuğa götürmeniz sort
yeterlidir:
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 _module
komutu, yüklü olmadan * seçeneklerinin listelendiği gibi tamamen yanlıştır!
nginx -V
Komutu (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
%
sudo
Sü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, $PATH
ayarlarınıza bağlı olarak , tam yolu belirtmeniz gerekebilir - örneğin /usr/sbin/nginx -V
, ya da gerçekten sudo
uygun /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_module
direktifin yardımıyla .