Nginx尝试登录/ var / logs而不是/ var / log?

时间:2013-03-27 23:36:54

标签: nginx

我注意到当我使用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的内容。我不知道这个日志位置可以写在哪里?

3 个答案:

答案 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)