Właśnie dostarczyłem nowy VPS z systemem CentOS 6 i jest on dostarczany z Apache.
Chcę wyłączyć Apache, ponieważ zamiast tego będę używać Nginx.
Wiem, że mogę po prostu usunąć skrypt w /etc/init.d/, ale nie chcę tego robić, ponieważ jest to zwykłe narzędzie dostarczane z systemem. Wolałbym w sposób wdzięczny wyłączyć usługę.
Pomyślałem, że będę w stanie umieścić coś w / etc / inittab, ale inittab zawiera:
# 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:
To prowadzi mnie do przekonania, że system działa poprawnie. Cóż, spojrzałem, a poprawnym sposobem wyłączenia usługi na początku jest dodanie pliku zastępowania. Więc biegam:
% 'manual' > /etc/init/httpd.override
I uruchom ponownie mój serwer. Ale httpd wciąż działa! Zdezorientowany tym postanawiam sprawdzić, czy uruchomienie to usługa inicjująca, uruchamiając
% readlink /proc/1/exe
/sbin/init
Cóż, nie tego się spodziewałem. Może mimo wszystko nie biegnę na wyższy poziom. Czy istnieje określony sposób sprawdzenia? A jeśli uruchamiam init, jaki jest zalecany sposób na trwałe wyłączenie usługi? Jestem nowy w tym wszystkim i wydaje się, że istnieje wiele sprzecznych opinii.
Dziękuję wszystkim za pomoc.
Odpowiedzi:
Sposób, w jaki wyłączasz usługę w ramach dowolnej dystrybucji pochodzącej z RedHat, to
chkconfig
polecenie:Aby zatrzymać działającą usługę:
Polecenia te będą Rób, co niezależnie od tego, czy system jest uruchomiony
systemd
,upstart
lub waniliiSysVInit
.Za to, co jest warte, mimo że
upstart
większość usług w CentOS 6 faktycznie używa starszychinit.d
skryptów, zlokalizowanych w/etc/rc.d/rc<RUNLEVEL>.d
. W przypadku tych usługchkconfig
zarządza dowiązaniami symbolicznymi w/etc/rc.d/init.d
.źródło
Wyłącz usługę, której nie chcesz uruchamiać podczas uruchamiania systemu, używając komendy chkconfig .
Wyświetl listę dostępnych usług wraz z ich stanami
chkconfig --list
Wyłącz usługę htttpd na poziomie działania 2345
chkconfig --level 2345 httpd off
źródło