Init 서비스를 영구적으로 비활성화


10

방금 CentOS 6을 실행하는 새로운 VPS를 프로비저닝했으며 Apache와 함께 제공됩니다.

Nginx를 대신 사용할 것이기 때문에 Apache를 비활성화하고 싶습니다.

나는 /etc/init.d/에서 스크립트를 삭제할 수 있다는 것을 알고 있지만, 시스템과 함께 제공되는 재고품이기 때문에 그렇게하고 싶지 않습니다. 차라리 서비스를 비활성화하는 우아한 방법이 있습니다.

나는 / etc / inittab에 무언가를 넣을 수 있다고 생각했지만 inittab에는 다음이 포함되어 있습니다.

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

이것은 시스템이 시작되고 있다고 믿게합니다. 글쎄, upstart에서 서비스를 비활성화하는 올바른 방법은 재정의 파일을 추가하는 것입니다. 그래서 나는 달린다.

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

그리고 내 서버를 재부팅하십시오. 그러나 httpd는 여전히 실행 중입니다! 이것으로 혼란스러워서 upstart가 init 서비스인지 확인하기로 결정했습니다.

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

글쎄, 내가 기대했던 것은 아닙니다. 어쩌면 나는 결국 시작하지 않을 것입니다. 확인할 확실한 방법이 있습니까? init을 실행하는 경우 서비스를 영구적으로 비활성화하는 권장 방법은 무엇입니까? 나는이 모든 것을 처음 접했고 거기에는 많은 상충되는 의견이있는 것 같습니다.

도와 주셔서 감사합니다.


아파치를 사용하지 않으려면 왜 아파치를 제거하지 않습니까?
Frederik Nielsen

나중에 mod_wsgi를 사용하여 Python 응용 프로그램을 프록시 처리하거나 PHP를 실행하는 데 사용할 수 있기 때문입니다. 지금은 사용하고 싶지 않습니다. 그리고 이것은 다른 서비스에서도 미래에 다시 발생할 수있는 문제처럼 보입니다.
Max Bucknell

답변:


16

RedHat 파생 배포에서 서비스를 비활성화하는 방법은 다음 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.


trillan의 답변에서 update-rc.d와 동등한 것을 검색하여 이것을 알았습니다. 내 자신의 질문에 대답하려고했지만 당신이 나를 이겼습니다. 고마워요.
Max Bucknell

4

chkconfig를 사용하여 시스템 부팅 중에 시작하지 않으려는 서비스를 비활성화하십시오 .

사용 가능한 서비스를 상태와 함께 나열

chkconfig --list

실행 수준 2345에서 서비스 htttpd 비활성화

chkconfig --level 2345 httpd off

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.