На главную

DevOps и серверы

Конструктор systemd unit

Собирает файл службы и, если нужно, таймер к ней: запуск, зависимости, переменные, перезапуск и опции изоляции — каждая с объяснением, что именно она закрывает.

Служба

Только абсолютный путь: PATH у systemd свой

Изоляция

Таймер

my-api.service

[Unit]
Description=Моя служба
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
User=app
WorkingDirectory=/srv/app
Environment=NODE_ENV=production
ExecStart=/usr/bin/node /srv/app/server.js
Restart=on-failure
RestartSec=5

NoNewPrivileges=true
PrivateTmp=true

[Install]
WantedBy=multi-user.target

Установка и проверка

sudo install -m 644 my-api.service /etc/systemd/system/my-api.service
sudo systemctl daemon-reload
sudo systemctl enable --now my-api.service
systemctl status my-api.service
journalctl -u my-api -f