Wie stoppe ich die Ausführung von httpd unter Mac OS X (10.11) El Capitan Server?

30

Ich verwende OS X El Capitan mit einem Server (App), der so konfiguriert ist, dass ich über VPN auf mein Heimnetzwerk zugreifen kann. Leider hat der Server App beschlossen , eine Reihe von starten httpd Prozesse, die nun an den Ports hören 80, 443 und andere, obwohl die Server - Einstellungen für Websites ist OFF und keine Dienste sollten auf diesen Ports gestartet werden.

Ich möchte oder brauche diese Dienste nicht aktiv und möchte, dass httpd heruntergefahren wird (oder ich fange nicht damit an). Leider kann ich diese Prozesse weder beenden (sie werden nur sofort neu gestartet ) noch über launchctl steuern .

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 kann ich diese Prozesse beenden und diese Ports freigeben?

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 die httpd- Prozesse laufen noch.

listen 80
listen 443
Chris
quelle

Antworten:

23

Der Apple-Proxy-Dienst ist der Dienst, der die Ports 80 und 443 abruft. Sie müssen diesen also beenden.

sudo launchctl unload -w /Applications/Server.app/Contents/ServerRoot/System/Library/LaunchDaemons/com.apple.serviceproxy.plist
Zanthra
quelle
3
Dies stellte sich als genau die Lösung für mich heraus. "sudo apachectl stop" gab nur den gleichen Fehler wie launchctl.
Kosmonaut
19

Sie können das mit dem Befehl stoppen:

sudo apachectl stop
Przemek Krzysztof Wycisk
quelle
8

Dieser Befehl sollte sie alle töten:

sudo killall httpd

Sie werden beim nächsten Start erneut gestartet.

stravanato
quelle
3
Ich habe auch nicht abgelehnt, aber es hat möglicherweise damit zu tun, dass ich erwähnt habe, dass es keinen Sinn macht, die Prozesse zu beenden, da sie automatisch neu gestartet werden.
Chris
überraschenderweise blieb der daemon nach dem probieren jeder anderen methode am leben, nachdem er entladen und auf andere
ray