我有OSX El Capitan。我通过 Homebrew 软件安装了Nginx-Full。我应该能够启动和停止服务
brew services Nginx-Full Start
我运行该命令,它似乎没有问题。我检查正在运行的服务
brew services list
这表明Nginx-Full服务正在运行。当我运行
htop
查看正在运行的所有内容Nginx不会显示,并且服务器未处理请求。
最佳答案
nginx由于错误而无法启动,但是brew-services没有与您进行通信。
正如其他用户所建议的,使用sudo
运行它只是掩盖了问题。如果仅直接运行nginx
,则可能会看到实际上存在导致nginx中止的配置或权限问题。就我而言,这是因为它无法写入错误日志:
nginx: [alert] could not open error log file: open() "/usr/local/var/log/nginx/error.log" failed (13: Permission denied)
2020/04/02 13:11:53 [warn] 19989#0: the "user" directive makes sense only if the master process runs with super-user privileges, ignored in /usr/local/etc/nginx/nginx.conf:2
2020/04/02 13:11:53 [emerg] 19989#0: open() "/usr/local/var/log/nginx/error.log" failed (13: Permission denied)
最后一个错误导致nginx无法启动。您可以通过以下方式使自己成为日志的所有者:
sudo chown -R $(whoami) /usr/local/var/log/nginx/
这将导致随后的配置错误写入错误日志,即使 Homebrew 软件暂时不在stderr/stdout中报告这些错误。
我已经打开了一个与此有关的问题:https://github.com/Homebrew/homebrew-services/issues/215
关于nginx - Homebrew Nginx没有运行,但表示它在Brew服务中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38040732/