Hello! On Wed, Jun 01, 2022 at 08:07:13AM -0700, Roger Fischer wrote:
> Hello, > > there seem to be two methods to tell nginx to re-open the log > file after the file was rotated (we use logrotate). > > 1) nginx -s reopen > > 2) kill -USR1 > > Which is the preferred method, and why. > > I am asking because we have seen nginx -s reopen failing because > of a transient issue with the configuration. According to the > man page reopen should be the same as SIGUSR1, but the error we > saw implies that the config was reloaded (ie SIGHUP). Preferred method is to use kill, it is more effective and has less intermediate operations (such as parsing the configuration to find out path to the pid file) which can fail. The "nginx -s ..." command was introduced to support Windows, where there is no kill. On Unix systems, it is essentially equivalent to "kill <signal> /path/to/nginx.pid", except it accepts user-friendly signal names and parses nginx configuration to find out path to the pid file. It might be easier to use in user-interactive scenarios, though it might be costly as it parses nginx configuration, and it might not work at all in some specific cases (such as incorrect on-disk configuration you've mentioned, or on-disk configuration not compatible with on-disk nginx binary). As such, it is not generally recommended to use the "nginx -s ..." form on Unix, especially in automatic tasks such as log rotation. -- Maxim Dounin http://mdounin.ru/ _______________________________________________ nginx mailing list -- nginx@nginx.org To unsubscribe send an email to nginx-le...@nginx.org