1. 문제상황
> Linux-CentOS환경에서 apache를 재시작시 다음과 같은 에러가 발생하였다.
> service httpd restart
(98)Address already in use: AH00072: make_sock: could not bind to address [::]:80
(98)Address already in use: AH00072: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
AH00015: Unable to open logs
2. 문제확인
> 포트는 정상적으로 열려있는 상태이고 서비스도 문제가 없다. 검색결과 이전 서버 시작 또는 종료시 비정상적으로 수행되었기 때문이라고 한다.
3. 문제해결
> 강제로 프로세스를 죽이고 80포트가 죽었음을 확인하고 시작하도록 한다.
프로세스 확인 & KILL
ps -ef|grep httpd
root 7854 1 0 09:10 ? 00:00:00 /usr/local/server/apache/bin/httpd -k start
daemon 7949 7854 0 09:10 ? 00:00:37 /usr/local/server/apache/bin/httpd -k start
daemon 7950 7854 0 09:10 ? 00:00:36 /usr/local/server/apache/bin/httpd -k start
daemon 7953 7854 0 09:10 ? 00:00:40 /usr/local/server/apache/bin/httpd -k start
opendocs 22654 22634 0 14:39 pts/0 00:00:00 grep httpd
kill -9 7953
kill -9 7950
kill -9 7949
kill -9 7854
포트 확인
netstat -an|grep LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN
tcp 0 0 :::22 :::* LISTEN
tcp 0 0 :::3306 :::* LISTEN
unix 2 [ ACC ] STREAM LISTENING 18088 /tmp/mysql.sock
unix 2 [ ACC ] STREAM LISTENING 6618 @/com/ubuntu/upstart
* 아파치는 자동으로 프로세스를 생성하고 대기 하기 때문에 다시 생겨날 수 있다. 그러므로 포트가 죽지 않았다면 프로세스가 추가로 생성되었는지 확인해야한다.
아파치 시작
service httpd start