Init Hizmetini Kalıcı Olarak Devre Dışı Bırakma


10

CentOS 6'yı çalıştıran yeni bir VPS sağladım ve Apache ile birlikte geliyor.

Apache'yi devre dışı bırakmak istiyorum, çünkü bunun yerine Nginx kullanacağım.

Ben sadece /etc/init.d/ komut dosyasını silebilirim biliyorum, ama bunu yapmak istemiyorum, çünkü bu sistemle birlikte gelen stok bir şey. Hizmet devre dışı bırakmak için zarif bir yol olurdu.

Ben / etc / inittab içine bir şey koymak mümkün olacağını düşündüm, ancak inittab içerir:

# 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:

Bu beni sistemin yeniden başlatıldığına inandırıyor. Şey, baktım ve uptart'da bir hizmeti devre dışı bırakmanın doğru yolu bir geçersiz kılma dosyası eklemektir. Bu yüzden koşuyorum:

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

Ve sunucumu yeniden başlat. Ama httpd hala çalışıyor! Bunu karıştırarak, uptart'ın init hizmeti olup olmadığını kontrol etmeye karar veriyorum

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

Görmeyi beklediğim şey bu değildi. Belki de nihayetinde start-up yapmıyorum. Kontrol etmenin kesin bir yolu var mı? Ve init çalıştırıyorsam, bir hizmeti kalıcı olarak devre dışı bırakmanın önerilen yolu nedir? Tüm bunlara yeniyim ve orada birçok çelişkili fikir var gibi görünüyor.

Yardımlarınız için hepinize teşekkürler.


Kullanmayacaksanız neden sadece apache'yi kaldırmıyorsunuz?
Frederik Nielsen

Çünkü ileride kullanmak isteyebilirim, mod_wsgi ile Python uygulamalarını proxy yapmak veya PHP çalıştırmak için. Şimdilik kullanmak istemiyorum. Ve bu, gelecekte de farklı hizmetlerde tekrar yaşayabileceğim bir sorun gibi görünüyor.
Max Bucknell

Yanıtlar:


16

Hemen hemen herhangi bir RedHat türevi dağıtım altında bir hizmeti devre dışı bırakma şekliniz şu komutladır chkconfig:

# chkconfig httpd off

Çalışan bir hizmeti durdurmak için:

# service httpd stop

Bu komutlar sistem çalışıyor olup olmadığından bağımsız olarak doğru olanı yapacağız systemd, upstartya da vanilya SysVInit.

upstartDeğeri için, CentOS 6'da çoğu hizmeti çalıştırmasına rağmen, aslında init.dbulunan eski komut dosyalarını kullanın /etc/rc.d/rc<RUNLEVEL>.d. Bu hizmetler için, içindeki bağlantıları chkconfigyönetir /etc/rc.d/init.d.


Bunu trillan'ın cevabından update-rc.d'ye eşdeğer bir şey arayarak öğrendim. Sadece kendi sorumu cevaplamak üzereydim, ama sen beni yendin. Çok teşekkürler, larsks.
Max Bucknell

4

Chkconfig kullanarak sistem önyüklemesi sırasında başlatmak istemediğiniz hizmeti devre dışı bırakın .

Durumlarıyla birlikte kullanılabilir hizmetleri listeleyin

chkconfig --list

Runlevel 2345'te hizmet htttpd'yi devre dışı bırak

chkconfig --level 2345 httpd off

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.