Generátor súborov systemd service
Vyplňte spustiteľný súbor, pracovný adresár, politiku reštartu a používateľa — získate pripravenú .service jednotku (a voliteľne aj doprovodnú .timer jednotku) s vysvetlením každého vygenerovaného riadku.
Predvoľby
Začnite s bežnou záťažou
Načíta rozumné predvolené hodnoty pre polia nižšie. Všetko zostáva potom upraviteľné.
[Unit]
Popis a poradie
Sekcia [Unit] sú metadáta a poradie — hovorí systemd, čo je táto služba a po čom má nasledovať, ale sama osebe nič nespúšťa.
Jednotky, po ktorých sa má táto služba spustiť, oddelené medzerou.
[Service] — proces
Čo spustiť
Vyžadovaná absolútna cesta.
Ak je prázdne, použije sa hodnota User.
[Service] — prostredie
Premenné prostredia
Každý riadok sa stane vlastným riadkom Environment=. Pre tajné hodnoty, ktoré nechcete mať priamo v súbore jednotky, použite namiesto toho EnvironmentFile.
Voliteľné, absolútna cesta.
[Install]
Kedy sa automaticky spustí
Sekcia [Install] má význam len pre systemctl enable — určuje, do sekvencie spúšťania ktorého cieľa má túto službu zaradiť.
[Service] — spoľahlivosť
Politika reštartu
Nie je to prepínač zapnuté/vypnuté — vyberte variantu zodpovedajúcu tomu, ako má tento proces zlyhávať.
Reštartuje sa pri páde, nenulovom návratovom kóde alebo timeoute — ale zámerné „systemctl stop“ alebo čisté exit(0) ponechá tak. Zvyčajná voľba pre dlhobežiacu aplikáciu alebo herný server: zotaví sa z pádov bez toho, aby bojovala s administrátorom, ktorý ju zámerne zastavil.
Počet sekúnd čakania pred reštartom.
Voliteľné
Obmedzuje, koľko RAM a CPU môže táto jedna služba využiť. Nechajte vypnuté, ak naozaj nepotrebujete pevný strop.
Validácia
Časté chyby
Vyzerá to čisto — neboli zistené žiadne problémy.
Voliteľná doprovodná jednotka
Spúšťa túto službu podľa rozvrhu namiesto (alebo navyše k) štartu systému — systemd obdoba cron úlohy, viazaná na záťaž typu Type=oneshot. Preferujete pre niečo jednoduché obyčajný cron? Pokrýva to samostatný nástroj Generátor Cron úloh — OnCalendar= má inú syntax než cron a nie je jeho priamou náhradou.
Výstup
Vygenerované súbory jednotiek
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
Inštalačné prí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
Prevádzkuješ vlastný herný server?
Herné servery Wespner s DDoS ochranou, NVMe diskami a aktiváciou do pár minút.