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/ _______________________________________________ nginx mailing list [email protected] http://mailman.nginx.org/mailman/listinfo/nginx
