सवाल Nginx को पुनरारंभ कैसे करें?


मेरे लिए, मैं "killall nginx" चलाता हूं और इसे "sbin / nginx" से शुरू करता हूं, किसी के पास एक बेहतर पुनरारंभ स्क्रिप्ट है?

बीटीडब्ल्यू: मैं स्रोत से nginx स्थापित, मुझे 'सेवा nginx' कमांड या /etc/init.d/nginx नहीं मिला


77
2017-12-16 07:49


मूल


आप स्रोत से क्यों इंस्टॉल कर रहे हैं? Nginx संकुल सबसे अच्छे सर्वर linux वितरण के लिए उपलब्ध हैं। या आप अपने स्वयं के पैकेज रोल कर सकते हैं, लेकिन संकुल का उपयोग नहीं करना रखरखाव के लिए एक बगजर है। - Tom O'Connor
mod_rails की वजह से - larry


जवाब:


Nginx पैकेज एक /etc/init.d/nginx स्क्रिप्ट प्रदान करता है जो सामान्य प्रारंभ | रोक | पुनरारंभ | पुनः लोड ... कार्यक्षमता प्रदान करता है।

/etc/init.d/nginx restart 

nginx पुनरारंभ होगा

जैसा चाहो

service nginx restart

संपादित करें

यहाँ एक स्क्रिप्ट का एक लिंक है जिसे आप /etc/init.d/nginx के रूप में उपयोग कर सकते हैं।


127
2018-06-11 00:50



आपके भंडार पर निर्भर करता है। Nginx स्रोत init स्क्रिप्ट प्रदान नहीं करता है, इसलिए यदि आप स्रोत से अद्यतन और संकलित होना पसंद करते हैं तो आपको विकी से एक प्राप्त करना होगा। - Martin Fjordvald
सवालों के जवाब देने से पहले मुझे और कॉफी मिलनी चाहिए ... - Iain
सेवा nginx को पुनरारंभ करने के लिए क्या इंगित करता है और क्या init.d / nginx में परिवर्तन किए जाने पर कुछ पुनः लोड करना उचित होता है? मेरे दो आदेश (/etc/init.d/nginx और सेवा nginx) सिंक से बाहर प्रतीत होता है। - Danny
@ डैनी: डुनो मैंने यह लिखा> 2 साल पहले। - Iain


http://wiki.nginx.org/CommandLine

लिंक के अंदर शुरू करने और nginx सर्वर को रोकने के लिए कुछ कमांड हैं

nginx शुरू करने के लिए:

/usr/bin/nginx

nginx को रोकने के लिए:

/usr/bin/nginx -s stop

/usr/bin इस पर निर्भर करता है कि आप अपना nginx कहां स्थापित करते हैं


11
2018-02-12 19:08



@ एसएलएम तय! बस कुछ और विवरण जोड़ना। - LiJung


कॉन्फ़िगरेशन फ़ाइलों को संपादित करने के बाद, मैं इसे OpenBSD पर पुनरारंभ करता हूं:

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

HUP सिग्नल इसे अपनी कॉन्फ़िगरेशन फ़ाइलों को फिर से पढ़ता है, tail दिखाता है कि क्या किसी भी त्रुटि का सामना किया गया है, date उन त्रुटियों को संदर्भ में डालता है (एक त्रुटि तब होती है जब से समय date लॉग से समय से मेल खाता है), और sleep 1 यह सुनिश्चित करता है कि nginx से पहले लॉग से पढ़ने के लिए कोई समय नहीं है, जिसमें लिखने का समय था।

ऐसा लगता है कि यह कैसे दिखता है:

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 इंगित करता है कि इस बार कोई त्रुटि नहीं आई है, और नई कॉन्फ़िगरेशन एक अच्छा है।


1
2017-12-16 08:00





आप NginX विकी में init स्क्रिप्ट्स पा सकते हैं: http://wiki.nginx.org/Configuration#Init_Scripts

पुनरारंभ फ़ंक्शन निम्न आदेश चलाता है:

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

यदि आपके पास nginx / opt / nginx में स्थापित है, तो प्रतिस्थापित करें BASEDIR= द्वारा BASEDIR=/opt/nginx


0
2017-12-16 08:02





आमतौर पर, स्रोत से स्थापित संकुल स्टार्टअप स्क्रिप्ट को इंस्टॉल नहीं करते हैं /etc/init.d/। आपके पास दो विकल्प हैं।

1- आप स्रोत कोड निर्देशिका में या वेबसाइट पर एक स्क्रिप्ट देख सकते हैं, और यदि आवश्यक हो तो इसे कस्टमाइज़ कर सकते हैं।

2- आप अपने सिस्टम से दूसरे पैकेज के लिए स्टार्टअप स्क्रिप्ट कॉपी कर सकते हैं और इसे कस्टमाइज़ कर सकते हैं।


0