Apache가 제대로 다시 시작되지 않습니다.

Apache가 제대로 다시 시작되지 않습니다.

2000개의 가상 호스트로 Apache를 다시 시작하는 데 몇 가지 문제가 있습니다.

CentOS 5.8 64비트에서 Apache 2.2.22 + PHP 5.4.6을 사용합니다.

다시 시작하려고 하면 다음과 같이 표시됩니다.

    /etc/init.d/httpd restart
Stopping httpd:                                       [FAILED]
Starting httpd: (98)Address already in use: make_sock: could not bind to address [::]:80
(98)Address already in use: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
                                                           [FAILED]

내가 하면 killall -9 httpd괜찮다가 한동안 그런 일이 다시 발생합니다.

답변1

적어도 init 스크립트가 시작한 PID 아래에서는 Apache가 시작되지 않은 것처럼 보입니다. "ps auxwww"의 출력을 확인(또는 여기에 제공)하세요.

내 가장 강한 직관에 따르면 아파치 루트 프로세스가 죽어서 하위 프로세스가 살아 있고 포트 80에서 수신 대기하고 있는 것 같습니다. 그렇다면 아파치 오류 로그와 시스템 로그를 살펴보고 루트 프로세스를 종료시키는 원인이 무엇인지 확인하십시오.

다른 가능성: init 스크립트 외부에서 수동으로 아파치를 시작하는 다른 것이 있거나 포트 80에서 수신 대기 중인 다른 것이 있을 수 있습니다(그러나 killall -9 httpd가 작동하는 이유는 설명되지 않습니다).

답변2

패키지 문제였습니다. 나는 webtactic repo에서 httpd를 얻었습니다. Lxcenter의 것으로 변경되었으며 매우 잘 작동합니다.)

관련 정보