홈 네트워크에 대한 VPN 액세스를 허용하도록 구성된 서버(앱)와 함께 OS X El Capitan을 사용하고 있습니다. 불행하게도 Server 앱은 여러 가지 작업을 시작하기로 결정했습니다.httpd에 대한 서버 설정에도 불구하고 현재 포트 80, 443 및 기타에서 수신 대기 중인 프로세스웹사이트~이다끄다이 포트에서는 서비스가 시작되어서는 안 됩니다.
나는 이러한 서비스가 활성화되는 것을 원하지 않거나 필요하지 않으며 httpd가 종료되기를 원합니다(또는 처음부터 시작하지도 않음). 안타깝게도 해당 프로세스를 종료할 수도 없고(바로 다시 시작될 수도 있음) 다음을 통해 제어할 수도 없습니다.launchctl.
sudo lsof -i :80
httpd 422 root 5u IPv6 0x7... 0t0 TCP *:http (LISTEN)
httpd 425 _www 5u IPv6 0x7... 0t0 TCP *:http (LISTEN)
ps u 422
USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND
root 422 0.0 0.0 2457156 6136 ?? Ss 5:55PM 0:00.07 /usr/sbin/httpd -D FOREGROUND -f /Library/Server/Web/Config/Proxy/apache_serviceproxy.conf -E /private/var/log
시도할 때:
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist
/System/Library/LaunchDaemons/org.apache.httpd.plist: Could not find specified service
그렇다면 해당 프로세스를 종료하고 해당 포트를 확보하려면 어떻게 해야 합니까?
여기에 Apache 서버에 대한 구성 파일이 있다는 것을 알고 있습니다./Library/Server/Web/Config/Proxy/apache_serviceproxy.conf
다음 줄을 제거하여 해당 포트의 차단을 해제할 수 있지만httpd프로세스가 아직 실행 중입니다.
listen 80
listen 443
답변1
Apple 프록시 서비스는 포트 80 및 443을 확보하는 서비스이므로 해당 서비스를 중지해야 합니다.
sudo launchctl unload -w /Applications/Server.app/Contents/ServerRoot/System/Library/LaunchDaemons/com.apple.serviceproxy.plist
답변2
다음 명령을 사용하여 이를 중지할 수 있습니다.
sudo apachectl stop
답변3
이 명령을 실행하면 모두 종료됩니다.
sudo killall httpd
다음 부팅 시 다시 시작됩니다.
답변4
다른 사람들이 검색하여 이 질문에 도달하는 경우httpd또는포트 80하지만 Server.app이 실행되고 있지 않은 경우 이는 macOS Monterey 12.x 이상을 위한 솔루션입니다.
sudo launchctl bootout system/org.apache.httpd