Empty error and access log
Maxim Dounin
mdounin at mdounin.ru
Thu Sep 26 15:13:55 UTC 2019
Hello!
On Thu, Sep 26, 2019 at 06:22:41AM -0400, krishna wrote:
> Dear Team,
>
> I have configured access_log and error_log at https block level and
> sometimes(like after log rotation), could see the logs are with 0 bytes
> (which means, nothing logged though it serves the requests and application
> is accessible).
>
> Any help would be appreciated to figure out the issue and why its occurring
> .
>
> Config:
>
> #Log file format
> log_format main '$remote_addr - $remote_user [$time_local] '
> '"$request" $status $body_bytes_sent '
> '"$http_referer" "$http_user_agent" "$gzip_ratio" ';
>
> access_log /var/logs/access.log main;
> error_log /var/logs/error.log error;
>
> Log Files:
>
> -rwxr-xr-x. 1 root root 0 Sep 25 03:13 access.log
> -rwxr-xr-x. 1 root root 0 Sep 26 03:34 error.log
These files are only writable by root, hence nginx worker
processes won't be able to open these for writing after log
rotation. You have to fix your log rotation configuration to
create files which are writable by nginx user.
For example, nginx own packages as available from nginx.org use
the following logrotate configuration
(http://hg.nginx.org/pkg-oss/file/tip/debian/nginx.logrotate):
/var/log/nginx/*.log {
daily
missingok
rotate 52
compress
delaycompress
notifempty
create 640 nginx adm
sharedscripts
postrotate
if [ -f /var/run/nginx.pid ]; then
kill -USR1 `cat /var/run/nginx.pid`
fi
endscript
}
Note the "create 640 nginx adm" line.
--
Maxim Dounin
http://mdounin.ru/
More information about the nginx
mailing list