Maxim Dounin
June 01, 2022 12:44PM
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-leave@nginx.org
Subject Author Posted

Preferred method to reopen the log with logrotate

roger_bc June 01, 2022 11:08AM

Re: Preferred method to reopen the log with logrotate

Maxim Dounin June 01, 2022 12:44PM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 264
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready