আমার এনগিনেক্স আসলে ব্যবহার করছে এমন এনগিনেক্স.কনফ ফাইলটি সন্ধান করুন


130

কোনও ক্লায়েন্টের সার্ভারে কাজ করা যেখানে দুটি ভিন্ন সংস্করণ এনজিনেক্স ইনস্টল করা আছে। আমি মনে করি এর মধ্যে একটি ব্রু প্যাকেজ ম্যানেজারের সাথে ইনস্টল করা হয়েছিল (এটি একটি অসক্স বাক্স) এবং অন্যটি এনগিনেক্স প্যাকেজড মেকফিলের সাথে সংকলন এবং ইনস্টল করা হয়েছে বলে মনে হয়। আমি সার্ভারে সমস্ত nginx.conf ফাইল অনুসন্ধান করেছি, কিন্তু এই ফাইলগুলির কোনওটিই যখন সার্ভারে শুরু করার সময় এনগিনেক্স আসলে প্যারামিটারগুলি ব্যবহার করে না। আমি যে সম্পর্কে জানি না সে nginx.conf ফাইলটি কোথায়?

উত্তর:


245

nginx -tআপনার কমান্ডলাইনটি চালানো একটি পরীক্ষা জারি করবে এবং ফাইলপথের সাথে আউটপুটটিকে কনফিগারেশন ফাইলটিতে যুক্ত করবে (কোনও ত্রুটি বা সাফল্যের বার্তা সহ)।


33
% ps -o args -C nginx
COMMAND
build/sbin/nginx -c ../test.conf

যদি এনগিনেক্স -cবিকল্প ছাড়াই চালানো হয় , তবে আপনি -Vঅ-মানক মানগুলিতে সেট করা কনফিগার আর্গুমেন্টগুলি খুঁজে বের করতে বিকল্পটি ব্যবহার করতে পারেন । তাদের মধ্যে আপনার জন্য সবচেয়ে আকর্ষণীয় হ'ল:

--prefix=PATH                      set installation prefix
--sbin-path=PATH                   set nginx binary pathname
--conf-path=PATH                   set nginx.conf pathname

1
আমি কমান্ডগুলি চালনার চেষ্টা করেছি কিন্তু তারা আমার পক্ষে কাজ করেনি .. দ্বিতীয় অ্যানোভার কাজ করে
রিভলিশ

32

উভয়ই nginx -tএবং nginx -Vডিফল্ট nginx কনফিগারেশন ফাইল পাথ মুদ্রণ করবে।

$ nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

$ nginx -V
nginx version: nginx/1.11.1
built by gcc 4.9.2 (Debian 4.9.2-10)
built with OpenSSL 1.0.1k 8 Jan 2015
TLS SNI support enabled
configure arguments: --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib/nginx/modules --conf-path=/etc/nginx/nginx.conf ...

আপনি চাইলে কনফিগারেশন ফাইলটি পেতে পারেন:

$ nginx -V 2>&1 | grep -o '\-\-conf-path=\(.*conf\)' | cut -d '=' -f2
/etc/nginx/nginx.conf

এমনকি যদি আপনি অন্য কোনও কনফিগার ফাইল লোড করেছেন তবে তারা ডিফল্ট মানটি মুদ্রণ করতে পারে।


ps aux আপনাকে বর্তমানের লোড হওয়া এনগিনেক্স কনফিগারেশন ফাইলটি দেখায়।

$ ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root        11  0.0  0.2  31720  2212 ?        Ss   Jul23   0:00 nginx: master process nginx -c /app/nginx.conf

যাতে আপনি উদাহরণস্বরূপ কনফিগারেশন ফাইলটি পেতে পারেন:

$ ps aux | grep "[c]onf" | awk '{print $(NF)}'
/app/nginx.conf

7
which nginx

আপনাকে nginx ব্যবহারের পথ দেবে


সম্পাদনা (2017-জানুয়ারী 18)

এই উত্তরে উইল পামারের মন্তব্যে ধন্যবাদ, আমি নিম্নলিখিতগুলি যুক্ত করেছি ...

আপনি যদি হোমব্রুয়ের মতো কোনও প্যাকেজ ম্যানেজারের মাধ্যমে এনজিন্স ইনস্টল করেন ...

which nginx

ব্যবহার করা হচ্ছে এনজিনেক্সের সঠিক পথ আপনাকে দিতে না পারে । তবে আপনি এটি ব্যবহার করে দেখতে পারেন

realpath $(which nginx)

এবং যেমন @ ড্যানিয়েল লি উল্লেখ করেছেন

আপনি তার পদ্ধতির মাধ্যমে এনগিনেক্সের কনফিগারেশন পেতে পারেন

বিকল্পভাবে আপনি এটি ব্যবহার করতে পারেন:

nginx -V

1
"যা" বেশিরভাগ ইউনিক্স ভিত্তিক সিস্টেমে কাজ করে। আমি আমার মনটি হারিয়েছি না তা নিশ্চিত করার জন্য আমি এটি কেবল উবুন্টুতে টাইপ করেছি।
tqWite

1
ওহ, আমি সংশোধন দাঁড়িয়ে। উত্তরটি এখনই সংশোধন করা হচ্ছে। ধন্যবাদ
ক্রেগ ওয়েন

1
which nginxকেবলমাত্র বর্তমান ব্যবহারকারীর জন্য এনগিনেক্সের জন্য ডিফল্ট পাথ দেখায় (বর্তমান ব্যবহারকারী নয় - বর্তমান শেলও নয় )। এটি অবশ্যই এনজিঙ্কস "ব্যবহৃত হচ্ছে" এমন পথ দেখায় না।
উইল পামার

2

অন্যান্য সকল উত্তর দরকারী কিন্তু তারা আপনাকে সাহায্য করতে পারে না ক্ষেত্রে nginxনেই PATHতাই আপনি পেয়ে থাকেন command not foundযখন চালানোর চেষ্টাnginx :

ডেবিয়ান 7 হুইজিতে আমার এনজিঙ্ক্স 1.2.1 রয়েছে, nginxএক্সিকিউটেবলটি চালু নেই PATH, তাই আমার এটি প্রথমে সনাক্ত করা দরকার। এটি ইতিমধ্যে চলছিল, সুতরাং এটি ব্যবহার করে ps aux | grep nginxআমি জানতে পেরেছি যে এটি অবস্থিত /usr/sbin/nginx, সুতরাং আমাকে চালানো/usr/sbin/nginx -t দরকার ।

যদি আপনার নন-ডিফল্ট কনফিগারেশন ফাইল (অর্থাত না ব্যবহার করতে চান তাহলে /etc/nginx/nginx.conf), এটা দিয়ে চালানো -cপরামিতি: /usr/sbin/nginx -c <path-to-configuration> -t

আপনার এটিকে এটি হিসাবেroot চালনাও করতে পারে, অন্যথায় এনজিনেক্সের উদাহরণস্বরূপ লগগুলি খোলার অনুমতি নাও থাকতে পারে, সুতরাং কমান্ডটি ব্যর্থ হবে।


1

@ ড্যানিয়েল লি'র উত্তর ছাড়াও, ভালেটের সাথে এনজিনেক্স ইনস্টলেশনও ভেল্ট কনফিগারেশনটি ব্যবহার করবে, এটি "/usr/local/etc/nginx/valet/valet.conf" তে পাওয়া যায়। Nginx.conf ফাইলটি এই ভ্যালেট কনফ ফাইলটি আমদানি করত। আপনার যে সেটিংসের প্রয়োজন সেটি ভ্যালেট ফাইলে থাকতে পারে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.