Answers:
nginx -V
සියලු වින්යාස කරන ලද මොඩියුල ලැයිස්තුගත කරයි. පැහැදිලිව සක්රීය / පැටවීමේ විධානයක් නොමැත.
sudo nginx -V
sudo
උබුන්ටු 14.04 භාවිතා කිරීමට අවශ්ය නොවීය
nginx -V
වෙනසකට ලක්විය හැකි එක් ලයිනර්:
2>&1 nginx -V | tr -- - '\n' | grep _module
පරිසර දෙකක් සංසන්දනය කිරීම සඳහා පහසුය:
lsmodn="2>&1 nginx -V | tr -- - '\n' | grep _module"
diff -y <(ssh www-prd eval $lsmodn) <(ssh www-qa eval $lsmodn)
සංස්කරණය කරන්න:
--without
මොඩියුලය සම්පාදනය කරන ධජ මෙයට ඇතුළත් බව නිවැරදිව පෙන්වා දීම ගැන ස්තූතියි, රෝමන් නෙවාසා . මම --without
කොඩි භාවිතා නොකරන අතර මොඩියුල ලැයිස්තුව ලබා ගැනීම කෙරෙහි පමණක් අවධානය යොමු කළෙමි, එබැවින් මම එය අල්ලා නොගත්තෙමි; ස්ථාපනයන් 2 ක් අතර කොඩි සම්පාදනය කිරීමට උපකාරී වන පරිදි එක්-ලයිනර් වෙනස් කළ හැකිය:
2>&1 nginx -V | tr ' ' '\n'
එය සමාන ය:
2>&1 nginx -V | xargs -n1
සමහර විට ද නල හරහා බව sort
බැදීමකට කොඩි idiosyncratic ඇනවුම් කිරීම යථා තත්වයට හා tr
වෙනස-හැකි රැහැන් මතට භේදය පැවරුම් නැවත. අවසාන ප්රති result ලය:
lsmodn="2>&1 nginx -V | xargs -n1 | sort | tr = '\n'"
diff -y <(ssh www-prd eval $lsmodn) <(ssh www-qa eval $lsmodn)
sort
දුරස්ථ ධාරක දෙකෙහිම එක හා සමාන ලෙස හැසිරෙන්නේ නම් එය ක්රියාත්මක වේ (එනම් ඒවා GNU හෝ BSD යන දෙකම). ඔබ ලිනක්ස් BSD (මැක් ඕඑස් එක්ස්) සමඟ සංසන්දනය කරන්නේ නම්, එම | sort | tr = '\n'
කොටස lsmodn
දේශීය කවචයට පිටතට sort
ගෙනයන්න.
lsmodn="2>&1 nginx -V | xargs -n1"
diff -y <(ssh linux eval $lsmodn | sort | tr = '\n') <(ssh macosx eval $lsmodn | sort | tr = '\n')
මෙසියර්, නමුත් එය ක්රියා කරයි.
2>&1 nginx -V | tr -- - '\n' | grep _module
ස්ථාපනය කර ඇති විකල්පයන් නොමැතිව ලැයිස්තුගත කර ඇති බැවින් විධානය සම්පූර්ණයෙන්ම වැරදියි!
මෙම nginx -V
විධානය (ඉහළ-නඩුව V) සියලු මොඩියුල ලැයිස්තු, මෙන්ම වෙනත් බැදීමකට කාලීන විකල්ප ඇත:
%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
මෙම විධානය සඳහා කිසි විටෙක අවශ්යතාවයක් නොමැති බව සලකන්න , මන්දයත් සුපිරි පරිශීලක බලයන් අවශ්ය වන්නේ පහත වරායන් විවෘත කිරීම සඳහා IPPORT_RESERVED
(උදා: 1024 ට අඩු වරායන්) සහ / හෝ ලිවීම සඳහා ඇතැම් ලොග්-ගොනු පමණි.
කෙසේ වෙතත්, ඔබගේ $PATH
සැකසීම් මත පදනම්ව , ඔබට සම්පූර්ණ මාර්ගය නියම කිරීමට අවශ්ය විය හැකිය - උදා /usr/sbin/nginx -V
, හෝ sudo
සුදුසු /sbin/
නාමාවලිය ඇතුළත් කිරීමට ඇත්ත වශයෙන්ම භාවිතා කරන්න $PATH
.
නව nginx නිකුතුවලින් පටන් ගෙන - nginx 1.9.11
(2016 පෙබරවාරි සිට) - ගතිකව පැටවිය හැකි මොඩියුලයන් දැන් ද සහාය දක්වයි - http://nginx.org/r/load_module - load_module
නියෝගයේ සහාය ඇතිව .
nginx -V
සියලුම මොඩියුල පෙන්වන්නේ නැත, එය මට මොඩියුල 20 ක් පමණ පෙන්වයි.
strings /usr/sbin/nginx|grep _module|grep -v configure| sort
මගේ nginx හි ඇති සියලුම 200+ මොඩියුලයන් ලැයිස්තුගත කරන දේ මම භාවිතා කරමි.
මම ද උත්සාහ කළ objdump
නමුත් මගේ ස්ථාපනයෙහි ඇති nginx ද්විමය ඉවත් කර ඇති බව පෙනේ.