Вот пример служебного файла systemd NGINX на английском языке:
[Unit]
Description=NGINX HTTP server
After=network.target
[Service]
Type=forking
PIDFile=/run/nginx.pid
ExecStartPre=/usr/sbin/nginx -t
ExecStart=/usr/sbin/nginx
ExecReload=/usr/sbin/nginx -s reload
ExecStop=/usr/sbin/nginx -s stop
PrivateTmp=true
[Install]
WantedBy=multi-user.target
В этом примере файл службы NGINX разделен на три раздела: [Unit], [Service]и [Install].
Раздел [Unit]содержит описание службы и указывает, что она должна запускаться после доступности сети.
Раздел [Service]определяет, как следует управлять службой. В этом случае для Typeустановлено значение forking, что означает, что NGINX будет порождать дочерние процессы. Параметр PIDFileуказывает расположение PID-файла, который NGINX создаст во время запуска. Команда ExecStartPreпроверяет конфигурацию NGINX на наличие синтаксических ошибок. Команда ExecStartзапускает NGINX, а команды ExecReloadи ExecStopиспользуются для перезагрузки или остановки службы NGINX соответственно. Параметр PrivateTmpсоздает частный временный каталог для NGINX.
В разделе [Install]указывается целевая многопользовательская среда, в которой должен быть запущен NGINX.
Вот несколько дополнительных методов, которые вы можете использовать для управления NGINX с помощью systemd:
-
Запустите службу NGINX:
sudo systemctl start nginx -
Остановить службу NGINX:
sudo systemctl stop nginx -
Перезапустите службу NGINX:
sudo systemctl restart nginx -
Перезагрузите конфигурацию NGINX без перезапуска службы:
sudo systemctl reload nginx -
Проверьте состояние службы NGINX:
sudo systemctl status nginx