4

Я только что установил Nginx Homebrew на Mac OS X 10.11 (El Capitan).

Если я установлю свой конфиг Ngnix следующим образом:

listen      127.0.0.1:8080;

listen      127.0.0.1:81;

listen      127.0.0.1:75;

Это сработает. Но если я положу это туда:

listen      127.0.0.1:80;

Это не будет. Я получу соединение отказано, если я пойду http://127.0.0.1

ps говорит, что Nginx запущен, но netstat -a | grep nginx или netstat -a | grep 80 говорит, что это не так.

Конечно, запускать это как root (не то, что мне нужно для запуска на :8080

И Mac OS X Firewall не работает.

Журнал ошибок больше не показывает этого:

2015/10/10 17:16:19 [emerg] 23906#0: bind() to 0.0.0.0:80 failed (48: Address already in use)

Есть идеи? Я могу работать с этим на 8080 (любопытно, что когда я запускаю на 8080 , он открывает порт 80 и перенаправляет его на 80).

2 ответа2

1

Перезагрузил OSX. Работал. Я думаю, что с Linux будет по-другому.

1

Ошибка заключается в следующем:

2015/10/10 17:16:19 [emerg] 23906#0: bind() to 0.0.0.0:80 failed (48: Address already in use)

Этот «адрес уже используется» говорит сам за себя: что-то еще в вашей системе использует порт 80. У вас включен общий доступ к Интернету или, возможно, Apache установлен и работает? Вы можете проверить это, запустив lsof следующим образом:

sudo lsof -i -P | grep -i "80"

Это точно покажет вам, какой процесс может использовать порт 80. Если вам интересно посмотреть, какие другие порты настроены на «прослушивание» в вашей системе Mac OS X, просто запустите эту команду:

sudo lsof -i -P

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