Generátor souborů systemd service
Vyplňte spustitelný soubor, pracovní adresář, politiku restartu a uživatele — získáte připravenou .service jednotku (a volitelně i doprovodnou .timer jednotku) s vysvětlením každého vygenerovaného řádku.
Přednastavení
Začněte s běžnou zátěží
Načte rozumné výchozí hodnoty pro pole níže. Vše zůstává poté upravitelné.
[Unit]
Popis a řazení
Sekce [Unit] jsou metadata a řazení — říká systemd, co je tato služba a po čem má následovat, ale sama o sobě nic nespouští.
Jednotky, po kterých se má tato služba spustit, oddělené mezerou.
[Service] — proces
Co spustit
Vyžadována absolutní cesta.
Pokud je prázdné, použije se hodnota User.
[Service] — prostředí
Proměnné prostředí
Každý řádek se stane vlastním řádkem Environment=. Pro tajné hodnoty, které nechcete mít přímo v souboru jednotky, použijte místo toho EnvironmentFile.
Volitelné, absolutní cesta.
[Install]
Kdy se automaticky spustí
Sekce [Install] má význam jen pro systemctl enable — určuje, do sekvence spouštění kterého cíle má tuto službu zařadit.
[Service] — spolehlivost
Politika restartu
Není to přepínač zapnuto/vypnuto — vyberte variantu odpovídající tomu, jak má tento proces selhávat.
Restartuje se při pádu, nenulovém návratovém kódu nebo timeoutu — ale záměrné „systemctl stop“ nebo čisté exit(0) ponechá být. Obvyklá volba pro dlouhoběžící aplikaci nebo herní server: zotaví se z pádů, aniž by bojovala s administrátorem, který ji záměrně zastavil.
Počet sekund čekání před restartem.
Volitelné
Omezuje, kolik RAM a CPU může tato jedna služba využít. Nechte vypnuté, pokud opravdu nepotřebujete pevný strop.
Validace
Časté chyby
Vypadá to čistě — nebyly zjištěny žádné problémy.
Volitelná doprovodná jednotka
Spouští tuto službu podle rozvrhu místo (nebo navíc k) startu systému — systemd obdoba cron úlohy, vázaná na zátěž typu Type=oneshot. Preferujete pro něco jednoduchého obyčejný cron? Pokrývá to samostatný nástroj Generátor Cron úloh — OnCalendar= má jinou syntaxi než cron a není jeho přímou náhradou.
Výstup
Vygenerované soubory jednotek
my-application.service
[Unit] Description=My application After=network.target Wants=network.target [Service] Type=simple ExecStart=/usr/bin/node /opt/wespner-app/server.js WorkingDirectory=/opt/wespner-app User=wespner-app Environment="NODE_ENV=production" Environment="PORT=3000" Restart=on-failure RestartSec=5 [Install] WantedBy=multi-user.target
Instalační příkazy
sudo cp my-application.service /etc/systemd/system/my-application.service sudo systemctl daemon-reload sudo systemctl enable --now my-application.service journalctl -u my-application.service -f # follow logs
Provozuješ vlastní herní server?
Herní servery Wespner s DDoS ochranou, NVMe disky a aktivací do pár minut.