I compiled Nginx from source code and now I want to manage it via systemd like systemctl start,stop,restart,reload,enable nginx.service
. What I need to do to enable this ?
1 Answer
You'll need to add NGINX systemd service file in /lib/systemd/system/nginx.service
.
For your own instance of Nginx (vs. the one provided by your distribution) /etc/systemd/system/nginx.service
could be correct location. It also overrides /lib/systemd/system/nginx.service
, when enabled with systemctl enable nginx.service
(or reenable
).
[Unit]
Description=The NGINX HTTP and reverse proxy server
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/run/nginx.pid
ExecStartPre=/usr/local/sbin/nginx -t
ExecStart=/usr/local/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
You may need to change the paths depending on where the Nginx you have compiled is located. Here, I assume it's in /usr/local/sbin/nginx
.
-
For hardening the service file, there is very useful info here: sherbers.de/running-nginx-without-root Feb 14, 2022 at 10:34