我有一个nginx / logrotate的问题。 问题在于nginx正在logging对2个文件(主数据和数据)的访问。
我有以下反configuration设置:0 * * * * / usr / sbin / logrotate -f / home / orwell / orwell-setup / bin / logrotate-nginx
而“logrotate-nginx”文件有以下内容:
/tmp/data.log { rotate 90 daily missingok notifempty size 1 sharedscripts postrotate [ ! -f /tmp/nginx.pid ] || kill -USR1 `cat /tmp/nginx.pid` MORE THINGS endscript } /tmp/main.log { rotate 90 daily missingok notifempty size 1 sharedscripts postrotate [ ! -f /tmp/nginx.pid ] || kill -USR1 `cat /tmp/nginx.pid` MORE THINGS endscript }
工作是在两个文件中完成的,但有一个问题,nginx停止login到这些文件。 这两个文件都是创build的,但是都是空的。
任何想法为什么Nginx停止logging信息到这两个文件?
有点晚了,但我发现它似乎是在Nginx的USR1信令中的一个错误。 根据文档,这意味着重新打开日志( http://wiki.nginx.org/LogRotation ),但它似乎并没有。
我已经通过发送一个HUP代替,这将重新加载configuration解决方法。
[ ! -f /tmp/nginx.pid ] || kill -HUP `cat /tmp/nginx.pid`
它似乎解决了这个问题,但是如果USR1的通话正在进行,那么作为最低限度的操作将会更健康。 HUP我不认为至less会丢掉任何连接。
有点晚了,但我发现它似乎是在Nginx的USR1信令中的一个错误。
您必须检查日志文件夹的权限。 Nginx用户必须具有该文件夹的执行/search权限。
信号USR1后,日志工作:)