Как остановить работу httpd на сервере Mac OS X (10.11) El Capitan?

Как остановить работу httpd на сервере Mac OS X (10.11) El Capitan?

Я использую OS X El Capitan с настроенным Сервером (приложением), чтобы разрешить мне VPN-доступ к моей домашней сети. К сожалению, приложение Сервера решило запустить кучу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

Связанный контент