내 개발 서버에서 Laravel 프로젝트를 푸시한 후 더 이상 Apache 2를 실행할 수 없는 것 같습니다.
명령줄을 실행한 후:
sudo systemctl 상태 apache2
다음 오류가 발생합니다.
● apache2.service - Apache HTTP 서버 로드됨: 로드됨(/lib/systemd/system/apache2.service; 활성화됨, 공급업체 사전 설정: 활성화됨) 활성: 2020년 2월 3일 월요일 02시 이후 실패함(결과: 종료 코드): 17:48 UTC; 1분 17초 전 프로세스: 1631 ExecStart=/usr/sbin/apachectl start (코드=종료, 상태=1/FAILURE)
Google에서 조금 검색한 결과 여러 프로세스가 포트 80을 사용하고 있기 때문에 Apache를 시작할 수 없는 것으로 나타납니다.
그러나 명령줄을 실행한 후 다음을 수행합니다.
sudo lsof -i tcp:80
다음 프로세스 목록을 얻습니다.
명령 PID 사용자 FD 유형 장치 크기/꺼짐 노드 이름 google_ne 716 루트 7u IPv4 18497 0t0 TCP 인스턴스-개발-webapp-eatology.c.webapp-eatology.internal:34086->metadata.google.internal:http (설정됨) google_ac 717 루트 5u IPv4 18475 0t0 TCP 인스턴스-개발-웹앱-eatology.c.webapp-eatology.internal:34082->metadata.google.internal:http (설정됨) google_cl 719 루트 5u IPv4 18478 0t0 TCP 인스턴스-개발-웹앱-eatology .c.webapp-eatology.internal:34084->metadata.google.internal:http (설정됨) google_cl 719 루트 6u IPv4 18402 0t0 TCP 인스턴스-개발-webapp-eatology.c.webapp-eatology.internal:34080->metadata .google.internal:http (CLOSE_WAIT)
문제는 이러한 각 프로세스를 종료하는 방법을 이해할 수 없다는 것입니다. 많은 명령줄을 시도했지만 성공하지 못했습니다.
당신의 도움을 주셔서 감사합니다 !
답변1
달리다 :
netstat -tulpn | grep 80
당신이 가지고있는 라인을보십시오 :
Proto : tcp
Local address : *.*.*.*:80
Pid 또는 프로세스 이름 열 값을 가져옵니다.
<pid_or_process_name>:80
pid 또는 프로세스 이름을 사용하여 포트 80을 보유하는 프로세스를 종료합니다.
pkill -9 <process_name>
또는
kill -9 <pid>
마지막으로 이것은 여전히 해결 방법입니다. 포트 80 노출을 담당하는 프로세스를 찾아서 비활성화하거나 tcp/80이 아닌 다른 포트를 가리키도록 구성 파일을 변경해야 합니다. 이후에도 동일한 문제가 발생하기 때문입니다. 재부팅.