Nginx পুনরায় লোড করতে ব্যর্থ - কেন ট্র্যাক ডাউন?


96

হাই, আমি আমার এনগিনেক্স সার্ভারটি কিছুক্ষণের জন্য উবুন্টু সার্ভার 12.04 এ দুর্দান্ত চলমান।

আমি ধীরে ধীরে বিভিন্ন বিটগুলিতে বোল্ট হয়ে যাচ্ছি এবং আমার ওয়ার্ডপ্রেস পৃষ্ঠায় লোডের সময়টিকে অনুকূল করে তুলেছি।

আমার হোস্ট ফাইলটিতে কয়েকটি পরিবর্তন করার পরে আমি সিদ্ধান্ত নিয়েছি:

sudo /etc/init.d/nginx reload

যা আমি পেয়েছি:

  • পুনরায় লোড করা হচ্ছে এনগিনেক্স কনফিগারেশন এনগিনেক্স [ব্যর্থ]

কোন অতিরিক্ত তথ্য বা যুক্তি দেওয়া হয় না। আমি কীভাবে আমার সার্ভারটি পুনরায় চালু করতে পারি যাতে এটি পুনরায় লোড করার সময় কোনও ত্রুটি বিবৃতি মুদ্রণ করে যাতে আমি ত্রুটিটি ট্র্যাক করতে শুরু করতে পারি।

বোনাস প্রশ্নের জন্য:

এই Nginx sysadmins এর জন্য, আপনি যখন হোস্টগুলিতে একগুচ্ছ পরিবর্তন করেছেন এবং কয়েকটি অন্যান্য বিটের উপর চাপ দিয়েছেন এবং হঠাৎ আপনার nginx সার্ভারটি পুনরায় লোড হবে না (ঘটনাক্রমে এখনও সমস্ত কিছু চলছে বলে মনে হচ্ছে!) আপনি কীভাবে বিচ্ছিন্ন হওয়ার দিকে আপনার দৃষ্টিভঙ্গি শুরু করবেন? কেন বা ডিবাগ করতে জিনিস ভাঙতে শুরু!


4
সঙ্গে আপনার সিনট্যাক্স চেক করুন sudo nginx -t(অথবা sudo nginx -p /etc/nginx -c nginx.confযেখানে /etc/nginxআপনার কনফিগারেশন উপসর্গ এবং nginx.confপ্রধান কনফিগ ফাইল)।
লেকেনস্টেইন 21

sudo nginx -s পুনরায় লোডও আমাকে একটি রিডআউট দেবে বলে মনে হয়েছিল!
হু

উত্তর:


145

কনফিগার ফাইল সংক্রান্ত সমস্যা সম্পর্কিত বার্তাগুলির জন্য syslog (/ var / log / syslog) পরীক্ষা করুন।

কমান্ডলাইন থেকে আপনি চালাতে পারেন:

nginx -c /etc/nginx/nginx.conf -t

nginx ত্রুটিগুলির জন্য আপনার কনফিগারেশন পরীক্ষা করে নিন।


আহ হা! খুব দরকারী আমি পেয়ে যাচ্ছি বলে মনে হচ্ছে: অবস্থান "/ ব্লগ / ডাব্লুপি-অ্যাডমিন" "বাইরের অবস্থান" / ব্লগ / , আমাকে কিছু দিতে দেয়!
হু

2
আহা! তিন ঘন্টা অনুসন্ধান এবং এটি দেখা গেছে আমি একটি মিস করেছি; সমস্ত সহায়তার জন্য ধন্যবাদ, এটি ট্র্যাক করার জন্য প্রয়োজনীয় প্রমাণিত। ঘটনাচক্রে কেউ যদি আরস টেকনিকা ওয়েব-পরিবেশন করা পোস্টগুলি অনুসরণ করার পরে এই প্রশ্নটি শেষ করে। আমার মনে হয় আমি এখন তাদের দিয়ে দাত কাঁচ দিয়ে কাটিয়েছি!
হু

4
এই কমান্ডটি চালানো আমাকে দেয় nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successfulএবং তবুও আমি এখনও এনজিনেক্স শুরু করতে পারি না
বিল গ্যারিসন

1
@ বিলগারিসন আরও তথ্যের জন্য সিসলগ এবং এনজিএনএক্স ত্রুটি লগটি পরীক্ষা করুন
Dlloyd


7

আপনার সম্ভবত ভুলগুলির জন্য পরীক্ষা করা উচিত /var/log/nginx/error.log

আমার ক্ষেত্রে আমি আইপিভি 6 এর জন্য কোনও বন্দর যুক্ত করিনি। আপনার এটিও করা উচিত (আপনি যদি ৮০ টি বাদে কোনও বন্দরে এনগিনেক্স চালাচ্ছেন): listen [::]:8000 default_server ipv6only=on;


1
দ্রষ্টব্য: যদি আপনার অনুমতিগুলি ভুল থাকে তবে /var/log/nginx/error.logএনজিনেক্স এতে ত্রুটিটি লিখতে সক্ষম হবে না এবং নীরবে ব্যর্থ হবে। স্বীকৃত উত্তরের ( nginx -c /etc/nginx/nginx.conf -t) হিসাবে আপনার কনফিগারেশনটি পরীক্ষা করা সহায়তা করবে।
ব্যবহারকারী 898763452

5

আমি এই কমান্ডগুলি এনজিএনএক্স ব্যাক আপ এবং কাজ করার জন্য চালিয়েছি

# remove nginx conf files
apt-get purge nginx

# reinstall
apt-get install nginx

# make sure the default site is enabled
ln -s /etc/nginx/sites-available/default /etc/nginx/sites-enabled/default

# start nginx
sudo /etc/init.d/nginx start 

nginx এখন কাজ করছে !!


2
আপনাকে মুছতে এবং মুছতে হবে না, কেবল খাঁটি করতে হবে। এবং এটি জেনে রাখা শক্ত কিনা এই প্রশ্নের উত্তরটি শুদ্ধ হিসাবে সমস্ত কনফিগার ফাইলগুলি মুছে ফেলবে।
প্যান্থার

1
আদর্শভাবে - এবং অন্যান্য ব্যবহারকারীর জন্য আমি ব্যর্থতাটি কোথায় ঘটছে সে সম্পর্কে সর্বাধিক পরিমাণে রিডআউট পেতে এবং স্ক্র্যাচ থেকে শুকানো এবং শুরু করার পরিবর্তে আমার বর্তমান ইনস্টলটি মেরামত করতে পছন্দ করতাম
হু

1
@ বোধি.জাজেন আমি আমার উত্তর সংশোধন করেছি। এবং "হু" যা বলেছে, তাতে আমি সম্মত। এটি ঠিক যে আমি ইনস্টল এবং সেটআপ করার শুরুতে এসেছিলাম nginxসুতরাং এটির সন্ধানের পরিবর্তে কেবল এটি সরিয়ে ফেলা শুরু করা কোনও বড় বিষয় ছিল না। উভয় আপনার insite জন্য ধন্যবাদ।
হারুন লেলেভিয়ার

আমার ক্ষেত্রে আমাকে কেবল এই আদেশটি ব্যবহার শুরু করতে হয়েছিল sudo /etc/init.d/nginx start
সিজলিং কোড

3

/etc/nginx/sites-available/defaultআপনি যা ব্যবহার করছেন তার যাবতীয় অনুলিপি যাচাই করে নিন এবং নিশ্চিত হন যে আপনার সম্ভবত কোনও সমস্যা নেই সে সম্পর্কে আপনার #কোনও }অসুবিধা (অপসারণ ) করা উচিত {। এটা আমার সমস্যা ছিল।



2

ব্যবহার করে সমস্ত ফাইল পুনরায় খুলুন

nginx -s reopen

তারপরে ব্যবহার করুন

nginx -s reload

যেমন এনজিনেক্স সহায়তা দেখায় যে এটি হবে, মাস্টার প্রক্রিয়াতে সিগন্যাল প্রেরণ করে এনজিনেক্স পুনরায় লোড করুন it এটি কাজ করা উচিত।

অনুরোধ: দয়া করে purgeসাবধানতা ছাড়াই কমান্ডগুলি সরবরাহ করবেন না, যেহেতু এটি নবীনদের জন্য সমস্যা সৃষ্টি করতে পারে (সমস্ত কনফিগারেশন হারিয়ে যাবে) .... একটি বড় সমস্যা।


1

যদি এটি আপনাকে এ জাতীয় ত্রুটি দেয় তবে আপনি চেক journalctl -xeআউট করতে পারেন ।
এটি অপারেশন সিস্টেমের ক্ষেত্রে কী ঘটেছে সে সম্পর্কে প্রচুর তথ্য রয়েছে।
আপনি যখন লাইনটি journalctl -xe | grep nginxচালানোর চেষ্টা করেছিলেন তখন এনজিনেক্সে কী ঘটেছিল তা সন্ধান করতে বা সন্ধান করতে পারেন ।

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