3

У меня установлен apache2 на Mac OS X 10.7.4 через macports

Недавно я не смог получить доступ к своему каталогу localhost, я получил 404, но я могу получить доступ к 127.0.0.1

Я попытался перезапустить Apache:

sudo /opt/local/apache2/bin/apachectl stop
sudo /opt/local/apache2/bin/apachectl start

и я получаю следующие ошибки:

(48)Address already in use: make_sock: could not bind to address [::]:80
(48)Address already in use: make_sock: could not bind to address [::]:443

Я проверил, что общий доступ к сети отключен. Похоже, Apache уже использует эти точки или служба не останавливается правильно.

Как я могу узнать, что использует порты?

3 ответа3

2

Команда оболочки "lsof" может точно сказать, какой процесс использует какие файлы и адреса сокетов в системе. Просто попробуйте

sudo lsof

или, так как выходной будет много, лучше

sudo lsof | less

и искать что-то на http-портах. По-прежнему

man lsof

даст вам больше информации о том, как настроить вывод.

2

Для справки: в Mountain Lion 10.8.2 простая остановка службы apache2 сделала свое дело:

sudo apachectl stop

Таким образом, процессы httpd не будут перезапущены, и после этого сервер Macports apache2 будет работать нормально.

0

В моем Mac с Mojave (10.14.1) внезапно Apache больше не мог обслуживать IPv4, а затем дал мне ОШИБКУ 403.  Я пытался убить все apache (sudo killall httpd) ... проверяя PID с

sudo lsof | grep AMP | grep apache

даже не работал ... только IPv6 был доступен ... по-прежнему ОШИБКА 403

Что работает для меня: отключите встроенный в MacOS сервер Apache.

sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist

после этого:

sudo apachectl -k restart

будь счастлив :)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .