Dbl*_*247 3 homebrew nginx osx-elcapitan
我有OSX El Capitan。我通过自制软件安装了Nginx-Full。我应该能够启动和停止服务
酿造服务Nginx-全面启动
我运行该命令,它似乎没有问题。我检查正在运行的服务
酿造服务清单
这表明Nginx-Full服务正在运行。当我跑步
停止
查看所有正在运行的Nginx不会显示,并且服务器未处理请求。
ale*_*exw 12
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)
Run Code Online (Sandbox Code Playgroud)
最后一个错误是导致 nginx 无法启动。您可以通过以下方式使自己成为日志的所有者:
sudo chown -R $(whoami) /usr/local/var/log/nginx/
这应该会导致后续的配置错误被写入错误日志,即使 homebrew 服务现在没有在 stderr/stdout 中报告它们。
我已经打开了一个关于这个的问题:https : //github.com/Homebrew/homebrew-services/issues/215
每个人的日志路径可能不一样。您可以通过检查配置文件来检查日志文件的路径/usr/local/etc/nginx/nginx.conf。你可以找到这样一行:
error_log /Users/myusername/somepath/nginx.log;。相应地更改上面的 chown 命令。如果即使这样也不能解决问题,您可能必须对servernginx 配置中的块中指定的任何其他日志文件执行相同的操作
尝试使用“ sudo”启动它,即使公式中说
默认端口已在/usr/local/etc/nginx/nginx.conf中设置为8080,因此nginx可以在不使用sudo的情况下运行。
sudo brew services Nginx-Full start
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3576 次 |
| 最近记录: |