উত্তর:
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
সংকলিত পতাকাগুলির আইডিসিঙ্ক্র্যাটিক ক্রমকে স্বাভাবিক করার জন্য এবং tr
আবার অ্যাসাইনমেন্টকে ডিফ-সক্ষম লাইনে ভাগ করে। সর্বশেষ ফলাফল:
lsmodn="2>&1 nginx -V | xargs -n1 | sort | tr = '\n'"
diff -y <(ssh www-prd eval $lsmodn) <(ssh www-qa eval $lsmodn)
sort
উভয় দূরবর্তী হোস্টগুলিতে (যেমন তারা জিএনইউ বা বিএসডি উভয়) একই আচরণ করলে এটি কাজ করে। আপনি যদি লিনাক্সকে বিএসডি (ম্যাক ওএস এক্স) এর সাথে তুলনা করছেন, কেবল | 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
কমান্ড (উপরের কেস ভী) সকল মডিউল, পাশাপাশি অন্যান্য কম্পাইল-টাইম অপশন তালিকা হবে:
%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 1.9.11
(ফেব্রুয়ারী ২০১)) - গতিশীলভাবে লোডযোগ্য মডিউলগুলি এখন সমর্থিতও - http://nginx.org/r/load_module - load_module
নির্দেশকের সহায়তায় ।
nginx -V
সমস্ত মডিউল প্রদর্শন করে না, এটি আমার জন্য প্রায় 20 টি মডিউল প্রদর্শন করে।
আমি strings /usr/sbin/nginx|grep _module|grep -v configure| sort
আমার এনজিএনএক্সে সমস্ত 200+ মডিউল তালিকাভুক্ত ব্যবহার করি।
আমি চেষ্টাও করেছিলাম objdump
তবে দেখে মনে হচ্ছে আমার ইনস্টলেশনটিতে এনগিনেক্সের বাইনারি ছিনিয়ে আছে।