xServere.NET · Online support (+40) 725.903.503 [email protected]

xServere Insights

VPS

Aplicație Node.js cu systemd: pornire automată și verificări după restart

Aplicație Node.js cu systemd: pornire automată și verificări după restart
All articles

O aplicație care funcționează într-un terminal nu este încă un serviciu administrat. Configurează pornirea și verifică comportamentul după restart.

Updated 27.10.2026
Serie: Primul VPS Linux Node.js

O aplicație Node.js pornită manual poate funcționa în teste și se poate opri când se închide terminalul sau când VPS-ul repornește. Pe un sistem Linux care folosește systemd, un serviciu dedicat oferă o definiție clară a utilizatorului, a comenzii de pornire și a politicii de repornire.

Pregătește aplicația înainte de serviciu

Instalează dependențele și construiește aplicația conform proiectului. Confirmă comanda necesară în producție: server.js din acest exemplu poate să nu fie punctul de intrare al aplicației tale. Creează sau identifică un utilizator dedicat, fără privilegii administrative inutile.

Verifică accesul la directorul aplicației, configurație și directoarele în care trebuie scrise date. Notează calea exactă către executabilul Node.js. Un manager de versiuni încărcat din profilul interactiv nu este neapărat disponibil în mediul serviciului.

Definește serviciul

Un exemplu minimal pentru un proces care rămâne în prim-plan poate fi salvat ca /etc/systemd/system/site-node.service:

[Unit]
Description=Aplicatie web Node.js
After=network.target

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

[Install]
WantedBy=multi-user.target

Utilizatorul, grupul și căile sunt demonstrative și trebuie să existe. Nu introduce parole sau chei în acest exemplu. Metoda de furnizare a secretelor se alege separat, conform aplicației și versiunii systemd. Unitățile sunt fișiere administrative, nu un depozit potrivit pentru secrete în clar.

Validează și pornește

sudo systemd-analyze verify /etc/systemd/system/site-node.service
sudo systemctl daemon-reload
sudo systemctl enable --now site-node.service
sudo systemctl status site-node.service

Validează configurația înainte de activare și corectează erorile relevante. Comenzile se aplică unui server administrat de tine; nu presupun că un cont de găzduire partajată permite gestionarea serviciilor sistemului.

Type=simple nu confirmă că aplicația este deja pregătită să răspundă. Testează endpoint-ul funcțional după pornire. Politica Restart=on-failure ajută la anumite opriri anormale, dar nu detectează automat o aplicație blocată care încă are un proces activ.

Urmărește logurile și comportamentul la oprire

sudo journalctl -u site-node.service --since "30 minutes ago" --no-pager

Verifică erorile de cale, permisiuni, port ocupat și conectare la baza de date. Protejează datele sensibile din mesaje înainte de partajare. O buclă de repornire trebuie investigată, nu ascunsă prin reducerea intervalului dintre încercări.

Testează oprirea controlată și tratarea cererilor în curs. O aplicație cu lucrători sau cozi poate necesita proceduri suplimentare pentru închiderea conexiunilor și terminarea operațiunilor.

Confirmă recuperarea și monitorizarea

Într-o fereastră planificată, verifică pornirea după restartul VPS-ului. Controlează apoi accesul prin proxy, răspunsul aplicației și procesele secundare. systemd oferă administrarea procesului; monitorizarea din exterior trebuie să confirme și serviciul văzut de utilizator.

Dacă alegi un VPS prin XSERVERE, clarifică responsabilitatea pentru aceste configurări. Păstrează definiția serviciului împreună cu procedura de publicare, astfel încât actualizările Node.js să folosească aceeași cale verificată.

Surse

  • systemd — service — https://www.freedesktop.org/software/systemd/man/latest/systemd.service.html
  • systemd — exec — https://www.freedesktop.org/software/systemd/man/latest/systemd.exec.html
  • systemd — systemctl — https://www.freedesktop.org/software/systemd/man/latest/systemctl.html

Ți-a fost util acest articol?

Share X LinkedIn Facebook