स्थायी रूप से अक्षम सेवा को अक्षम करें


10

मैंने अभी एक नया VPS CentOS 6 चलाने का प्रावधान किया है, और यह Apache के साथ आता है।

मैं अपाचे को निष्क्रिय करना चाहता हूं, क्योंकि मैं इसके बजाय नग्नेक्स का उपयोग करूंगा।

मुझे पता है कि मैं सिर्फ /etc/init.d/ में स्क्रिप्ट हटा सकता हूं, लेकिन मैं ऐसा नहीं करना चाहता, क्योंकि यह एक स्टॉक चीज है जो सिस्टम के साथ आया था। मैं सेवा को अक्षम करने का एक सुंदर तरीका होगा।

मैंने सोचा था कि मैं / etc / inittab में कुछ डाल पाऊंगा, लेकिन initab में शामिल हैं:

# inittab is only used by upstart for the default runlevel.
#
# ADDING OTHER CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.
#
# System initialization is started by /etc/init/rcS.conf
#
# Individual runlevels are started by /etc/init/rc.conf
#
# Ctrl-Alt-Delete is handled by /etc/init/control-alt-delete.conf
#
# Terminal gettys are handled by /etc/init/tty.conf and /etc/init/serial.conf,
# with configuration in /etc/sysconfig/init.
#
# For information on how to write upstart event handlers, or how
# upstart works, see init(5), init(8), and initctl(8).
#
# Default runlevel. The runlevels used are:
#   0 - halt (Do NOT set initdefault to this)
#   1 - Single user mode
#   2 - Multiuser, without NFS (The same as 3, if you do not have networking)
#   3 - Full multiuser mode
#   4 - unused
#   5 - X11
#   6 - reboot (Do NOT set initdefault to this)
# 
id:3:initdefault:

यह मुझे विश्वास दिलाता है कि सिस्टम ऊपर की ओर चल रहा है। खैर, मैंने देखा, और अपस्टार्ट में किसी सेवा को अक्षम करने का सही तरीका एक ओवरराइड फ़ाइल को जोड़ना है। तो मैं चला:

% 'manual' > /etc/init/httpd.override

और मेरे सर्वर को रिबूट करें। लेकिन httpd अभी भी चल रहा है! इससे भ्रमित होकर, मैं यह जाँचने का निर्णय लेता हूं कि अपस्टार्ट चालू सेवा है

% readlink /proc/1/exe
/sbin/init

खैर यह वह नहीं है जो मैं देखने की उम्मीद कर रहा था। शायद मैं सब के बाद नहीं चल रहा हूँ। क्या जाँच करने का कोई निश्चित तरीका है? और अगर मैं init चला रहा हूं, तो किसी सेवा को स्थायी रूप से अक्षम करने के लिए अनुशंसित तरीका क्या है? मैं यह सब करने के लिए नया हूँ, और वहाँ कई परस्पर विरोधी राय लगती है।

आपकी मदद के लिए आप सभी को शुक्रिया।


यदि आप इसका उपयोग नहीं करने जा रहे हैं तो अपाचे को क्यों न हटाएं?
फ्रेडरिक नील्सन

क्योंकि मैं भविष्य में इसका उपयोग mod_wsgi, या PHP चलाने के साथ पायथन अनुप्रयोगों के लिए करना चाह सकता हूँ। अभी के लिए, मैं इसका उपयोग नहीं करना चाहता। और यह एक समस्या की तरह प्रतीत होता है जो भविष्य में, विभिन्न सेवाओं के साथ भी हो सकता है।
मैक्स बकनेल

जवाबों:


16

जिस तरह से आप किसी भी रेडहैट-व्युत्पन्न वितरण के तहत एक सेवा को अक्षम करते हैं वह chkconfigकमांड के साथ है :

# chkconfig httpd off

और चल रही सेवा को बंद करने के लिए:

# service httpd stop

इन आदेशों आपके सिस्टम चल रहा है चाहे सही काम करेंगे systemd, upstartया वेनिला SysVInit

upstartCentOS 6 में अधिकांश सेवाएं चलाने के बावजूद, यह वास्तव में विरासत init.dलिपियों का उपयोग करता है /etc/rc.d/rc<RUNLEVEL>.d। इन सेवाओं के लिए, इन chkconfigसीमलिंक को प्रबंधित करता है /etc/rc.d/init.d


मुझे यह पता चला है कि ट्रिलन के जवाब से अपडेट-आरडीडी के बराबर कुछ खोज रहा है। बस मेरे ही सवाल का जवाब देने वाला था, लेकिन आपने मुझे हरा दिया। बहुत बहुत धन्यवाद, लार्क्स।
मैक्स बकनेल

4

उस सेवा को अक्षम करें जिसे आप chkconfig का उपयोग करके सिस्टम बूट के दौरान शुरू नहीं करना चाहते हैं ।

अपने राज्यों के साथ उपलब्ध सेवाओं की सूची बनाएं

chkconfig --list

रनलेवल 2345 में सेवा को अक्षम करें

chkconfig --level 2345 httpd off

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