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

Bri*_*ian 4 nginx

我注意到当我测试我的nginx配置时nginx -t,它给了我一个警告:

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的内容.我不知道这个日志位置可以写在哪里?

Chu*_* Ma 9

在终端中运行此命令(注意:大写字母V):

nginx -V
Run Code Online (Sandbox Code Playgroud)

你在那里找到/ var/logs吗?您的nginx可能使用该默认文件位置进行编译.

[ 编辑 ]

我猜你的一些服务器块没有"error_log"指令.因此nginx为它们尝试默认值.请注意,默认情况下,error_log始终打开.

要解决此问题,可以在块(顶层)上添加此行,以便所有子块都可以继承该设置:

error_log /var/log/nginx/error.log;
Run Code Online (Sandbox Code Playgroud)


Ben*_*ari 8

您可以创建这些丢失的文件:

cd /var/log/nginx/
sudo touch error.log
sudo touch access.log
sudo chmod 750 *.log
Run Code Online (Sandbox Code Playgroud)

然后触发nginx服务:

sudo systemctl daemon-relod
sudo service nginx restart 
Run Code Online (Sandbox Code Playgroud)

[笔记]:

您还可以禁用nginx日志记录: