我注意到当我使用nginx -t
测试我的nginx配置时,它会给我一个警告:
nginx: [alert] could not open error log file: open() "/var/logs/nginx/error.log" failed (2: No such file or directory
)
这是有道理的,因为nginx的日志路径实际上设置为/var/log/nginx/
而不是/var/logs/nginx
。
我扫描了整个nginx配置目录,没有任何引用/ var / logs的内容。我不知道这个日志位置可以写在哪里?
答案 0 :(得分:8)
在终端中运行此命令(注意:大写字母V):
nginx -V
你在那里找到/ var / logs吗?您的nginx可能会使用该默认文件位置进行编译。
[修改强>
我猜你的一些服务器块没有“error_log”指令。因此nginx为它们尝试默认值。请注意,默认情况下,error_log始终处于打开状态。
要解决此问题,您可以在主块(顶层)上添加此行,以便所有子块都可以继承该设置:
error_log /var/log/nginx/error.log;
答案 1 :(得分:2)
您的编译默认值不正确。加载配置之前的任何nginx通知都会转到编译时定义的错误日志的路径。如果不能,请使用sane path或symlink log将nginx重新编译为日志。
答案 2 :(得分:0)
您可以创建这些错过的文件:
cd /var/log/nginx/
sudo touch error.log
sudo touch access.log
sudo chmod 750 *.log
然后触发 nginx 服务:
sudo systemctl daemon-relod
sudo service nginx restart
注意:您还可以停用 nginx日志记录:
disable nginx logging (1)
disable nginx logging (2)