내 친구가 xampp을 설치한 CentOs 6.5 서버가 있습니다. 하지만 에서 제거하는 것이 더 낫다고 생각합니다 yum
. 그냥 이것을 사용할 수 있습니다.
#rm -rf /opt/lampp
완전히 제거된 줄 알았는데 그게 아니더군요. 어쩌면 나는 멈추는 것을 잊었을지도 모른다 service httpd
. 그런 다음 Apache 2.4를 설치했습니다.이 단계. 실행하려고 하면 오류가 발생합니다.
service httpd24-httpd start
Starting httpd: (98)Address already in use: AH00072: make_sock: could not bind to address 202.190.185.62:80
no listening sockets available, shutting down
AH00015: Unable to open logs
어떻게 해결할 수 있나요? 아파치를 다시 설치해야 하나요?sudo yum install httpd
답변1
프로세스를 찾아서 종료하려면 다음을 수행하십시오.
netstat -lnp | 네트워크 통계 grep 80은 이와 유사한 출력을 생성합니다.
unix 2 [ ACC ] STREAM LISTENING 80 1804/somesoftware /somepath/and/filename
80은 포트 번호이고 이 예에서는 1804가 프로세스 ID입니다.
kill -9 1804
포트 80을 점유하고 있는 프로세스가 종료됩니다. 문제는 컴퓨터를 다시 시작하면 소프트웨어가 다시 시작될 가능성이 높으며 프로세스를 반복해야 한다는 것입니다.
문제 설명을 살펴보세요. 먼저 다음을 시도해 보세요.
service httpd24-httpd stop
이미 yum 설치를 통해 실행 중인 Apache 서버가 있을 수 있습니다.
답변2
사용자 정의 디렉토리 /etc/httpd/sites-enabled 아래 상단에 VirtualHost 구성 파일이 있을 때 이런 일이 발생했습니다.
Listen 80
공교롭게도 이미 httpd.conf의 이 포트를 수신하고 있었기 때문에 충돌이 발생하여 오류가 발생했습니다. httpd.conf에서 여러 항목을 제거 Listen 80
하고 하나만 남겨두면 문제가 해결됩니다. 도메인 대신 포트에서 수신 대기하는 VirtualHost를 생성할 때 항상 Listen 12345
VirtualHost .conf 파일 상단에 해당 포트에 해당하는 번호를 포함합니다.
답변3
입력 netstat -lnp | grep 80
하고 실행하면 포트 80에서 수신 대기 중인 프로세스를 찾은 다음 이를 중지하고 httpd를 다시 시작합니다.
답변4
솔루션 외에도 :80에서 실행 중인 프로세스를 찾아 종료한 다음 다시 시작합니다.
이 오류는 apache conf 파일이나 apache conf 파일에 포함된 .conf 파일에 "Listen" 항목이 여러 개 있는 경우 발생할 수 있습니다.