नगीनक्स को कैसे पुनः आरंभ करें?


95

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

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


1
आप स्रोत से क्यों स्थापित कर रहे हैं? अधिकांश अच्छे सर्वर लिनक्स वितरण के लिए नगीनक्स पैकेज उपलब्ध हैं। या आप अपने स्वयं के पैकेज रोल कर सकते हैं, लेकिन पैकेज का उपयोग न करना स्थिरता के लिए एक मचला है।
टॉम ओ'कॉनर

mod_rails की वजह से
लैरी

जवाबों:


149

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

/etc/init.d/nginx restart

nginx को पुनः आरंभ करेगा

जैसा चाहो

service nginx restart

संपादित करें

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


2
आपके भंडार पर निर्भर करता है। Nginx स्रोत init स्क्रिप्ट प्रदान नहीं करता है इसलिए यदि आप अद्यतन किया जाना पसंद करते हैं और स्रोत से संकलन करते हैं, तो आपको विकी से एक प्राप्त करना होगा।
मार्टिन फेजर्डवाल्ड

1
प्रश्नों का उत्तर देने से पहले मेरे पास अधिक कॉफी होनी चाहिए ...
user9517

जब nitx / nginx में कोई परिवर्तन किया जाता है तो सेवा nginx पुनरारंभ करना इंगित करता है और क्या कुछ पुनः लोड करना उचित है? मेरे दो कमांड (/etc/init.d/nginx और सर्विस nginx) सिंक से बाहर हैं।
डैनी

@ डैनी: dunno मैंने यह लिखा है> 2 साल पहले।
user9517

15

http://wiki.nginx.org/CommandLine

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

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

/usr/bin/nginx

नगीनक्स को रोकने के लिए:

/usr/bin/nginx -s stop

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


4

किसी कारण से, एम्बेडेड सिस्टम पर मैं इस पर काम कर रहा हूं:

systemctl restart nginx

1
यह प्रश्न और अधिकांश उत्तर आठ साल पुराने और अप्रचलित हैं। वह "कुछ कारण" है। यह वर्तमान लिनक्स ऑपरेटिंग सिस्टम पर करने का सही तरीका है।
माइकल हैम्पटन

ठीक है, तो शायद यह एम्बेडेड सिस्टम के लिए सच नहीं है
इलायची

1

कॉन्फ़िगरेशन फ़ाइलों को संपादित करने के बाद, मैं इसे 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सुनिश्चित करता है देखते हैं कि नग्नेक्स से पहले लॉग से पढ़ने के बीच कोई दौड़ की स्थिति नहीं थी, इसे लिखने का समय था।

यह इस तरह दिखता है:

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

आप इनगेट स्क्रिप्ट्स को NginX Wiki में देख सकते हैं: 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

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

1- आप स्रोत कोड निर्देशिका या वेबसाइट पर एक स्क्रिप्ट की तलाश कर सकते हैं, और यदि आवश्यक हो तो इसे अनुकूलित कर सकते हैं।

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

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.