Solution 1:

In the simplest for using systemd service:

  1. Install forever:

    [sudo] npm install forever -g
    
  2. Write and store the script to run in preferred location.

  3. Write the Systemd service:

    [Unit]
    Description=forever service
    After=network.target
    
    
    [Service]
    ExecStart=/home/george/.npm-global/bin/forever start /root/node/node_modules/.bin/www
    ExecStop=/home/george/.npm-global/bin/forever stop /root/node/node_modules/.bin/www
    Restart=always
    RestartSec=10                       # Restart service after 10 seconds if node service crashes
    StandardOutput=syslog               # Output to syslog
    StandardError=syslog                # Output to syslog
    SyslogIdentifier=nodejs-example
    
    
    [Install]
    WantedBy=multi-user.target
    
  4. Save the systemd service file in /etc/systemd/system as myforever.service ( or with whatever name you like ).

  5. Start the service and enable at start up.

    sudo systemctl start myforever.service
    sudo systemctl enable myforever.service
    
  6. Check if it's running:

    sudo systemctl status myforever.service
    
  7. To stop and disable it any time:

    sudo systemctl stop myforever.service
    sudo systemctl disable myforever.service
    

NOTE:

  1. This is a simplified version of a systemd service many options are available
  2. The service can also be called myforever without the .service extension, systemd will pick the right file
  3. This /home/george/.npm-global/bin/forever is where my node modules are kept, yours will be different. Find it with which forever

Additional Information:

https://www.axllent.org/docs/view/nodejs-service-with-systemd/