我注意到,当我使用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 config目录,没有任何引用/var/logs的内容。我不知道这个日志位置可以写在哪里?
发布于 2013-03-28 09:38:33
在终端中运行此命令(注:大写V):
nginx -V
您在那里找到/var/logs了吗?您的nginx可能会使用该默认文件位置进行编译。
编辑
我猜你的一些服务器块没有"error_log“指令。因此,nginx会为它们尝试默认的方法。请注意,默认情况下,error_log始终处于打开状态。
要解决此问题,可以在主块(顶级)上添加以下行,以便所有子块都可以继承该设置:
error_log /var/log/nginx/error.log;
发布于 2018-05-29 14:15:48
您可以创建以下缺少的文件:
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日志记录
发布于 2013-03-29 15:42:04
你有一个错误的缺省编译。nginx在加载配置之前注意到的任何内容都会转到编译时定义的错误日志的路径。使用合理的路径重新编译nginx,如果不能,请将日志符号链接到日志。
https://stackoverflow.com/questions/15671578
复制相似问题