Подтвердить что ты не робот

Nginx startup fail на mac osx 10.9 mavericks

Я использую nginx в течение нескольких месяцев без проблем, но после обновления до Mac OS X 10.9 Mavericks при попытке запустить nginx я получаю следующее:

nginx: [emerg] bind() to 0.0.0.0:80 failed (48: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (48: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (48: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (48: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (48: Address already in use)
nginx: [emerg] still could not bind()

Я старался следовать этим указаниям, но мне не очень повезло, поскольку мои результаты кажутся немного разными.

Вывод:

ps ax -o pid,ppid,%cpu,vsz,wchan,command|egrep '(nginx|PID)'

является:

  PID  PPID  %CPU      VSZ WCHAN  COMMAND
 15015 12765  0.0  2432784 -      egrep (nginx|PID)

Я пытался убить процесс, используя этот PID, но он никогда не умирает... Любые идеи о том, как запустить nginx снова? Любая помощь очень ценится!

4b9b3361

Ответ 1

Ваша команда ps ... | egrep находит себя, а не экземпляр nginx (посмотрите на столбец "COMMAND" ). Поскольку порт 80 используется, вероятно, какая-то другая программа (возможно, Apache, которая поставляется с ОС?) Работает и захватывает ее. Чтобы узнать, запустите:

sudo lsof -i:80

Если это системная программа Apache ( "httpd" ), вы можете, вероятно, закрыть ее:

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

Если этого не произойдет, вам понадобится дополнительная информация, чтобы выяснить, какой захват порта 80 и как он начинается.

Ответ 2

Вероятно, все еще nginx запускается и прослушивает порт 80. Пробуйте эту команду

sudo killall nginx