কীভাবে এনগিনেক্স পুনরায় চালু করবেন?


95

আমার জন্য, আমি "কিল্লাল এনগিনেক্স" চালাচ্ছি এবং এটি "এসবিন / এনজিনেক্স" দ্বারা শুরু করব, কারও কাছে পুনরায় আরম্ভ করার স্ক্রিপ্টের আরও ভাল আছে?

বিটিডাব্লু: আমি উত্স থেকে এনগিনেক্স ইনস্টল করি, আমি 'সার্ভিস এনজিনেক্স' কমান্ড বা /etc/init.d/nginx খুঁজে পাই না


1
আপনি উত্স থেকে ইনস্টল করছেন কেন? Nginx প্যাকেজগুলি বেশিরভাগ ভাল সার্ভার লিনাক্স বিতরণের জন্য উপলব্ধ। অথবা আপনি নিজের প্যাকেজগুলি রোল করতে পারেন, তবে প্যাকেজগুলি ব্যবহার না করা রক্ষণাবেক্ষণের জন্য খুব বড়।
টম ও'কনোর

কারণ mod_rails এর
ল্যারি

উত্তর:


149

এনগিনেক্স প্যাকেজটি একটি /etc/init.d/nginx স্ক্রিপ্ট সরবরাহ করে যা সাধারণ শুরু | স্টপ | পুনঃসূচনা | পুনরায় লোড ... কার্যকারিতা সরবরাহ করে।

/etc/init.d/nginx restart

nginx পুনরায় আরম্ভ হবে

ইচ্ছার যেমন

service nginx restart

সম্পাদন করা

আপনি /etc/init.d/nginx হিসাবে ব্যবহার করতে পারেন এমন স্ক্রিপ্টের একটি লিঙ্ক এখানে


2
আপনার সংগ্রহস্থলের উপর নির্ভর করে। Nginx উত্স আরআইডি স্ক্রিপ্টগুলি সরবরাহ করে না তাই আপনি যদি আপডেট হতে চান এবং উত্স থেকে সংকলন করতে চান তবে আপনাকে উইকি থেকে একটি পেতে হবে।
মার্টিন Fjordvald

1
প্রশ্নের উত্তর দেওয়ার আগে আমার আরও কফি
খেতে হবে

পরিষেবা এনজিঙ্ক্স পুনরায় আরম্ভ করার জন্য কী নির্দেশ করে এবং যখন init.d / nginx এ পরিবর্তন করা হয় তখন কিছু পুনরায় লোড করা কি উপযুক্ত? আমার দুটি কমান্ড (/etc/init.d/nginx এবং পরিষেবা nginx) সিঙ্কের বাইরে রয়েছে বলে মনে হচ্ছে।
ড্যানি

@ ড্যানি: ডুনো আমি এটি লিখেছি> 2 বছর আগে।
ব্যবহারকারী 9517

15

http://wiki.nginx.org/CommandLine

লিঙ্কগুলির ভিতরে nginx সার্ভার শুরু এবং বন্ধ করার জন্য কিছু কমান্ড রয়েছে

Nginx শুরু করার জন্য:

/usr/bin/nginx

Nginx বন্ধ করার জন্য:

/usr/bin/nginx -s stop

/usr/bin আপনি কোথায় আপনার এনগিনেক্স ইনস্টল করেন তার উপর নির্ভর করে


4

কোনও কারণে, এম্বেড থাকা সিস্টেমে আমি এটিতে কাজ করছি:

systemctl restart nginx

1
এই প্রশ্ন এবং উত্তরগুলির বেশিরভাগই আট বছরের পুরানো এবং অপ্রচলিত। এটি "কোনও কারণ"। এটি বর্তমান লিনাক্স অপারেটিং সিস্টেমে এটি করার সঠিক উপায়।
মাইকেল হ্যাম্পটন

ঠিক আছে, তাই সম্ভবত এম্বেড থাকা সিস্টেমগুলির জন্য এটি ঠিক সত্য নয়
এলাচ

1

কনফিগারেশন ফাইলগুলি সম্পাদনা করার পরে, আমি ওপেনবিএসডি এ পুনরায় এটি চালু করব:

kill -HUP `cat /var/run/nginx.pid` && date && sleep 1 && \
    tail -2 /var/www/logs/error.log ; date

HUPসংকেত এটা তার কনফিগারেশন ফাইল পুনরায় পড়া তোলে tailশো কিনা কোনো ত্রুটির সম্মুখীন হয়েছে হয়েছে, dateরাখে প্রসঙ্গ মধ্যে যারা ত্রুটি (একটি ত্রুটি শুধুমাত্র যদি সময়ে ঘটেছে date, এবং লগ থেকে সময় মিলছে) sleep 1নিশ্চিত করে আছে লগ থেকে এনগিনেক্সের লেখার সময় থাকার আগে কোনও রেসের শর্ত নেই।

এই এটা দেখায় কিভাবে হয়:

Cns# kill -HUP `cat /var/run/nginx.pid` && date && sleep 1 && tail -2 /var/www/logs/error.log ; date
Tue Feb 12 10:58:52 PST 2013
2013/02/12 10:03:35 [emerg] 8120#0: directive "set" is not terminated by ";" in /etc/nginx/conf.d/etc.ngx.grok/bxr.su.conf:226
2013/02/12 10:04:19 [emerg] 8120#0: invalid return code "$uri_def" in /etc/nginx/conf.d/etc.ngx.grok/bxr.su.conf:231
Tue Feb 12 10:58:53 PST 2013
Cns# 

লগ থেকে সময় মুদ্রিত সময়ের মধ্যে নয় এমনটি dateইঙ্গিত দেয় যে এবার প্রায় কোনও ত্রুটির মুখোমুখি হয়নি, এবং নতুন কনফিগারেশনটি বেশ ভাল।


0

আপনি এনজিএনএক্স উইকিতে init স্ক্রিপ্টগুলি খুঁজে পেতে পারেন: http://wiki.nginx.org/ কনফিগারেশন#Init_Script

পুনরায় চালু ফাংশন নিম্নলিখিত কমান্ড চালায়:

BASEDIR=
$BASEDIR/sbin/nginx -s stop
$BASEDIR/sbin/nginx $BASEDIR/conf/nginx.conf

আপনি / opt / nginx এ nginx ইনস্টল করা থাকলে, BASEDIR=দ্বারা প্রতিস্থাপন BASEDIR=/opt/nginx


0

সাধারণত, উত্স থেকে ইনস্টল করা প্যাকেজগুলি স্টার্টআপ স্ক্রিপ্ট এ ইনস্টল করে না /etc/init.d/। আপনার কাছে দুটি বিকল্প রয়েছে।

1- আপনি সোর্স কোড ডিরেক্টরিতে বা ওয়েবসাইটে কোনও স্ক্রিপ্ট সন্ধান করতে পারেন এবং প্রয়োজনে এটি কাস্টমাইজ করতে পারেন।

2- আপনি আপনার সিস্টেম থেকে অন্য প্যাকেজের জন্য একটি স্টার্টআপ স্ক্রিপ্ট অনুলিপি করতে পারেন এবং এটি কাস্টমাইজ করতে পারেন।

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