Sui server Linux possiamo gestire un'applicazione in Node.js come servizio utilizzando systemd.

Dalla shell create un nuovo servizio:


sudo nano /etc/systemd/system/app

Inserite i seguenti contenuti sostituendo i valori di esempio con quelli reali:


[Service]
WorkingDirectory=/home/username/app
ExecStart=/usr/local/bin/node app.js
Restart=always
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=app
User=username
Group=group
Environment=NODE_ENV=production

[Install]
WantedBy=multi-user.target

Ricaricate l'elenco dei servizi:


sudo systemctl daemon-reload

Abilitate il servizio all'avvio:


sudo systemctl enable app

Avviate il servizio:


sudo systemctl start app

Per arrestare il servizio:


sudo systemctl stop app

Per riavviare il servizio:


sudo systemctl restart app

Per controllare lo status del servizio:


sudo systemctl status app

Per disabilitare il servizio:


sudo systemctl disable app