Remove PID file before starting nginx (#1268621)
`nginx -t` creates the file /run/nginx.pid if it doesn't exist. `nginx -t` is executed by ExecStartPre (in nginx.service) and creates /run/nginx.pid with the correct SELinux context. However, when manually running `nginx -t` from the cmdline, the SELinux transition for systemd services doesn't occur and /run/nginx.pid is created with the wrong SELinux context. A workaround is to make sure that the PID file is removed before starting nginx.
This commit is contained in:
parent
cd3634a6a5
commit
0f695d477b
@ -5,6 +5,10 @@ After=network.target remote-fs.target nss-lookup.target
|
||||
[Service]
|
||||
Type=forking
|
||||
PIDFile=/run/nginx.pid
|
||||
# Nginx will fail to start if /run/nginx.pid already exists but has the wrong
|
||||
# SELinux context. This might happen when running `nginx -t` from the cmdline.
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1268621
|
||||
ExecStartPre=/usr/bin/rm -f /run/nginx.pid
|
||||
ExecStartPre=/usr/sbin/nginx -t
|
||||
ExecStart=/usr/sbin/nginx
|
||||
ExecReload=/bin/kill -s HUP $MAINPID
|
||||
|
Loading…
Reference in New Issue
Block a user