Homebrew Nginx没有跑步,但表示它正在酿造服务中

时间:2016-06-26 16:37:15

标签: nginx homebrew osx-elcapitan

我有OSX El Capitan。我通过自制软件安装了Nginx-Full。我应该能够用

启动和停止服务
  

brew服务Nginx-Full Start

我运行该命令似乎没有问题。我用

检查正在运行的服务
  

酿造服务清单

这表明Nginx-Full服务正在运行。我跑的时候

  

HTOP

查看正在运行的所有Nginx未显示但服务器未处理请求的内容。

3 个答案:

答案 0 :(得分:5)

nginx由于错误而无法启动,但是brew服务未与您进行通信。

按照其他用户的建议,使用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/

即使自制软件暂时不在stderr / stdout中报告错误,此应该也会导致随后的配置错误被写入错误日志。

我已经打开了一个与此有关的问题:https://github.com/Homebrew/homebrew-services/issues/215

答案 1 :(得分:4)

尝试使用" sudo"启动它,即使公式说

  

默认端口已在/usr/local/etc/nginx/nginx.conf中设置为8080,以便   nginx可以在没有sudo的情况下运行。

sudo brew services Nginx-Full start

答案 2 :(得分:0)

这对我有用:

sudo brew services start nginx