nginx不记录服务器日志 怎么回事?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx不记录服务器日志 怎么回事?相关的知识,希望对你有一定的参考价值。
vhosts.conf里的设置没问题,感觉是nginx的系统配置哪地方写错了。。
请强制重启nginx服务,service nginx stop && service nginx start然后一般有这个错误:
"/var/lib/nginx/tmp/client_body/0000000002" failed (13: Permission denied)
chmod -R 777 /var/lib/nginx
OK 参考技术A
nginx的access日志的配置是通过如下的指令:
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log logs/access.log main;
该指令可以出现在http,server域中。
错误日志是通过如下指令配置的:
error_log logs/error.log info;默认error_log会放在main域中,如果想让不同server域使用各自的error配置,则需要在server中重配error_log指令。在重新定义错误日志时,如果没有指定相应的日志级别,那么调试日志将会被屏蔽。
如下面的例子里,在server层中重新定义的日志就屏蔽了这个虚拟主机的调试日志:
error_log /path/to/log debug;http
server
error_log /path/to/log;
#...
#...
为了避免这个问题,可以注释这行重新定义日志的配置,或者也给日志指定debug级别,如下所示:
error_log /path/to/log debug;http
server
error_log /path/to/log debug;
#...
#...
如果nginx进程没有权限将日志信息写入指定的log地址,那么nginx会在启动是报错,如下所示:
[alert]: could not open error log file: open() "/path/log/nginx/error.log" failed (13: Permission denied)
具体的没有打日志的原因还需要根据配置文件具体分析。由于不知道你的配置时什么样子的,因此也无法给出确切解答,但是依据上述分析,应该也可以查处原因。如还有其它疑问,可以继续追问。
追问日志的部分是这两行
error_log /home/hosts_log/23_error.log notice;
access_log /home/hosts_log/23_access.log lu_access_log_2 buffer=32k;
/home/hosts_log/这个文件夹里面,文件的大小都是0
access_log中的lu_access_log_2是log_fromat, 你有用log_format 指令指定lu_access_log_2日志的格式吗?如果没有制定时不行的。
首先确认有lu_access_log_2日志格式,然后
建议修改日志如下:
error_log /home/hosts_log/23_error.log debug;access_log /home/hosts_log/23_access.log lu_access_log_2;
然后修改/home/hosts_log目录的权限为777,然后重启下nginx试试。看有日志吗?
本回答被提问者采纳Nginx的访问日志Nginx的日志切割Nginx静态文件不记录日志和过期时间
Nginx的访问日志
Nginx的日志切割
Nginx静态文件不记录日志和过期时间
以上是关于nginx不记录服务器日志 怎么回事?的主要内容,如果未能解决你的问题,请参考以下文章
安装oracle11的时候 提示ORA-28056 未能将审计记录写入windows事件日志,这是怎么回事啊