अपाचे को पुनरारंभ किए बिना किसी साइट के लिए अपाचे कॉन्फ़िगरेशन को फिर से लोड कैसे करें


141

मैंने साइटों-सक्षम निर्देशिका में अपनी वेबसाइटों में से एक के लिए चर AllowOverride संपादित किया है । अपाचे को पुनरारंभ किए बिना मैं नए कॉन्फ़िगरेशन को कैसे पुनः लोड करूं? क्या यह संभव है?



1
लगता है कि सभी उत्तर गलत हैं।
तिगरान

जवाबों:


182

कमांड का उपयोग करके संभव होना चाहिए

sudo /etc/init.d/apache2 reload

उम्मीद है की वो मदद करदे


11
मुझे पूरा यकीन है कि यह सही नहीं है। एक Ubuntu सर्वर के init.d- स्क्रिप्ट को देखते हुए, रीलोड का अर्थ है सुशोभित पुनरारंभ। इसका मतलब यह है कि रीलोड वास्तव में एक पुनरारंभ है, लेकिन अनुग्रह से। मेरी राय है कि अपाचे को सेवा को बाधित किए बिना फिर से लोड नहीं किया जा सकता है।
स्टेफनीनेलसन

4
अरुमन का जवाब सही है। अधिकांश अपाचे इनिट स्क्रिप्ट SIGHUP भेजती है जो 'अपाचेक्टल रिस्टार्ट' के बराबर है, जिसे ओपी ने विशेष रूप से बचने के लिए कहा था। अन्य अपाचे इनिट स्क्रिप्ट SIGUSR1 भेजती है जो 'अपाचेक्टल ग्रेसफुल' के बराबर है, जो कि रीस्टार्ट भी है, लेकिन अधिक इनायत से किया जाता है, और यही अरुण का जवाब प्रदान करता है।
ब्रायन लार्सन

@SteffenNielsen मुझे लगता है कि आप सही हैं ... कुछ एक लोड बैलेंसर का उपयोग करने के साथ ठीक हो जाएगा, एक को फिर से शुरू करने के लिए अक्षम करना, फिर से शुरू करना, डीबी संस्करण के साथ काम करना, फिर अन्य एपाचे सर्वर / कंटेनर के लिए भी यही करना होगा। K8s इन मुद्दों में से कुछ के साथ दूर करता है।
रे फॉस

1
ठीक है, यहां वही होता है, मुख्य apache2 प्रक्रिया नहीं बदलती है, लेकिन बच्चे या श्रमिक (मुझे सही शब्दावली नहीं पता) सभी पुनरारंभ होते हैं, जो कि PID वास्तव में बदलते हैं।
एलिजा लिन

1
और मुझे लगता है कि इस मामले में सुशोभित का मतलब सिर्फ यह है कि उन बाल श्रमिकों को मारे जाने और सम्मानित होने से पहले उनके अनुरोधों को पूरा करना है।
एलिजा लिन


28

करना

apachectl -k graceful

अधिक जानकारी के लिए इस लिंक की जाँच करें: http://www.electrictoolbox.com/article/apache/restart-apache/


18
यह अपाचे httpd डेमॉन को पुनः आरंभ करेगा, जिसे विशेष रूप से बचने के लिए पूछा गया प्रश्न।
cs01

6
@ सीएस 01 आप कहां पढ़ते हैं कि httpd डेमॉन को फिर से शुरू किया जाएगा? उत्तर में दिए गए लिंक पर मैंने जो कुछ भी पढ़ा है वह सब कुछ कहता है जैसेapachectl graceful: Gracefully restarts the Apache daemon by sending it a SIGUSR1. If the daemon is not running, it is started. This differs from a normal restart in that currently open connections are not aborted.
टायलर कोलियर

5
आपके द्वारा पोस्ट किए गए दस्तावेज़ का पहला वाक्य बस यही कहता है, क्या यह नहीं है?
सीएस 01

3
@ सीएस 01 आपको यह समझने की आवश्यकता है कि वे पुनरारंभ के बारे में चिंतित क्यों हैं। यह निर्दिष्ट नहीं है, लेकिन मेरा अनुमान है कि वे कनेक्शन को निरस्त नहीं करना चाहते हैं, बल्कि अपने आप में पुनरारंभ करना चाहते हैं। एक सुशोभित पुनरारंभ ज्यादातर मामलों में यह ठीक करेगा। यदि लंबे समय तक जीवित रहते हैं तो यह एक मुद्दा है, हालांकि। आपको पुनः आरंभ की एक अच्छी परिभाषा भी चाहिए, क्योंकि सभी शालीनतापूर्ण पुनरारंभ माता-पिता की प्रक्रिया को पुन: व्यवस्थित करते हैं अर्थात पीआईडी ​​नहीं बदलता है, जहां एक सामान्य पुनरारंभ के रूप में पूरी प्रक्रिया के पेड़ को फाड़ देता है, और एक नया बनाता है। इसलिए टायलर कोलियर का जवाब पूरी तरह से वैध है।
क्रड

7

अपाचे 2.4 के लिए अद्यतन, गैर-प्रणाली के लिए (जैसे, CentOS 6.x, अमेज़न लिनक्स AMI) और systemd के लिए (जैसे, CentOS 7.x):

अपाचे प्रक्रिया के कॉन्फ़िगरेशन को फिर से लोड करने के दो तरीके हैं, इसके आधार पर कि आप अपने वर्तमान थ्रेड्स के साथ क्या चाहते हैं, या तो बेकार होने पर बाहर निकलने की सलाह देते हैं, या सीधे उन्हें मारते हैं।

ध्यान दें कि Apache apachectl -kकमांड के रूप में उपयोग करने की अनुशंसा करता है, और systemd के लिए, कमांड द्वारा प्रतिस्थापित किया जाता हैhttpd -k

apachectl -k graceful या httpd -k graceful

अपाचे अपने थ्रेड्स को बेकार होने पर बाहर निकलने की सलाह देगा, और फिर अपाचे कॉन्फ़िगरेशन को फिर से लोड करता है (यह खुद से बाहर नहीं निकलता है), इसका मतलब है कि आंकड़े रीसेट नहीं हैं।

apachectl -k restart या httpd -k restart

यह रोक के समान है, इसमें प्रक्रिया अपने धागे को मार देती है, लेकिन फिर प्रक्रिया खुद को मारने के बजाय कॉन्फ़िगरेशन फ़ाइल को फिर से लोड करती है।

स्रोत: https://httpd.apache.org/docs/2.4/stopping.html


अपाचे 2.4.39 (जीत) httpd -k gracefulकेवल समर्थन नहीं करता है httpd -k restart: httpd /?=>-k restart : tell running Apache to do a graceful restart
एंड्रियास डिट्रिच
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.