funzioni erogate dal servizio:

  • startup shell scripts
  • daemonization
  • user accounts
  • environment variables
  • automatic restarts
  • log to syslog

myapp.service file into the /etc/systemd/system directory :

[Unit]
Description=Your app
After=network.target
[Service]
ExecStart=/var/www/myapp/app.js
Restart=always
User=nobody
Group=nobody
Environment=PATH=/usr/bin:/usr/local/bin
Environment=NODE_ENV=production
WorkingDirectory=/var/www/myapp
[Install]
WantedBy=multi-user.target

After means we’ll start this service after the network service has started. ExecStart is the app to run.

the app tu run must have:

#!/usr/bin/env node
and chmod +x
systemctl daemon-reload
# start the new app/service
systemctl start myapp
# eventually
systemctl restart myapp
# To watch logs for ‘myapp’ in realtime:
journalctl --follow -u myapp