Systemd szolgáltatásfájl generátor
Add meg a futtatható fájlt, a munkakönyvtárat, az újraindítási szabályt és a felhasználót — kapj egy telepítésre kész .service unitot (és egy opcionális kísérő .timer-t), minden generált sor elmagyarázva.
Sablonok
Indulj egy gyakori terhelésből
Betölti az ésszerű alapértelmezéseket a lenti mezőkhöz. Minden marad szerkeszthető utána.
[Unit]
Leírás és sorrend
A [Unit] szakasz metaadat és sorrend — megmondja a systemd-nek, mi ez a szolgáltatás, és mi után kell elindulnia, de önmagában nem indít el semmit.
Azok a unitok, amik után ennek el kell indulnia, szóközzel elválasztva.
[Service] — folyamat
Mit fusson
Abszolút útvonal kötelező.
Üresen hagyva a User értékére áll be.
[Service] — környezet
Környezeti változók
Minden sor saját Environment= sorrá válik. Használj inkább EnvironmentFile-t olyan titkokhoz, amiket nem szeretnél magában a unit fájlban tartani.
Opcionális, abszolút útvonal.
[Install]
Mikor indul automatikusan
Az [Install] szakasz csak a systemctl enable-nél számít — megmondja, melyik cél boot-szekvenciájának kell behúznia ezt a szolgáltatást.
[Service] — megbízhatóság
Újraindítási szabály
Nem egy be/ki kapcsoló — válaszd azt a változatot, ami illik ahhoz, ahogyan ennek a folyamatnak elromlania kellene.
Újraindul összeomlásnál, nem nulla kilépőkódnál vagy timeoutnál — de egy szándékos „systemctl stop” vagy egy tiszta exit(0) érintetlen marad. A szokásos választás egy hosszan futó alkalmazáshoz vagy játékszerverhez: felépül az összeomlásokból anélkül, hogy szembeszállna egy adminnal, aki szándékosan leállította.
Másodpercek, amennyit vár, mielőtt újraindulna.
Opcionális
Korlátozza, mennyi RAM-ot és CPU-t használhat ez az egy szolgáltatás. Hagyd kikapcsolva, hacsak nincs tényleg szükséged egy kemény felső határra.
Ellenőrzés
Gyakori hibák
Tisztának tűnik — nem található probléma.
Opcionális kísérő unit
Ütemezetten futtatja ezt a szolgáltatást boot helyett (vagy azon felül) — a systemd megfelelője egy cron jobnak, Type=oneshot terhelésekhez kötve. Inkább sima cront szeretnél valami egyszerűhöz? Egy külön Cron feladat generátor eszköz azt fedi le — az OnCalendar= más szintaxis, mint a cron, és nem közvetlen csere rá.
Kimenet
Generált unit fájl(ok)
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
Telepítési parancsok
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
Saját játékszervert üzemeltetsz?
Wespner játékszerverek DDoS-védelemmel, NVMe lemezekkel és néhány perc alatti aktiválással.