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 снова? Любая помощь очень ценится!
Ответы
Ответ 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