Ich verwende OS X El Capitan mit der Server-App, die so konfiguriert ist, dass ich VPN-Zugriff auf mein Heimnetzwerk habe. Leider hat die Server-App beschlossen, eine Reihe vonhttpdProzesse, die nun auf den Ports 80, 443 und anderen lauschen, obwohl die Servereinstellungen fürWebsitesIstAUSund auf diesen Ports sollten keine Dienste gestartet werden.
Ich möchte oder brauche diese Dienste nicht aktiv und möchte, dass httpd beendet wird (oder gar nicht erst gestartet wird). Leider kann ich diese Prozesse weder beenden (sie starten einfach sofort neu) noch kann ich sie steuern durchstartenctl.
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
Beim Versuch:
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist
/System/Library/LaunchDaemons/org.apache.httpd.plist: Could not find specified service
Wie also beende ich diese Prozesse und gebe diese Ports frei?
Ich weiß, dass es hier eine Konfigurationsdatei für den Apache-Server gibt:/Library/Server/Web/Config/Proxy/apache_serviceproxy.conf
Ich kann die folgenden Zeilen entfernen, um diese Ports zu entsperren, aber diehttpdProzesse laufen noch.
listen 80
listen 443
Antwort1
Der Apple-Proxy-Dienst ist der Dienst, der die Ports 80 und 443 beansprucht. Sie müssen diesen also stoppen.
sudo launchctl unload -w /Applications/Server.app/Contents/ServerRoot/System/Library/LaunchDaemons/com.apple.serviceproxy.plist
Antwort2
Sie können dies mit dem folgenden Befehl stoppen:
sudo apachectl stop
Antwort3
Dieser Befehl sollte sie alle töten:
sudo killall httpd
Sie werden beim nächsten Start erneut gestartet.
Antwort4
Falls andere auf diese Frage stoßen, indem sie suchen nachhttpdoderHafen 80aber die Server.app nicht ausgeführt wird, ist dies die Lösung für macOS Monterey 12.x und höher:
sudo launchctl bootout system/org.apache.httpd