Antwort 2016 : Fast jede Linux-Distribution wird mit systemd geliefert , was bedeutet, dass für immer Monit, PM2 usw. nicht mehr erforderlich sind - Ihr Betriebssystem erledigt diese Aufgaben bereits .
myapp.service
Erstellen Sie eine Datei (ersetzen Sie 'myapp' natürlich durch den Namen Ihrer App):
[Unit]
Description=My app
[Service]
ExecStart=/var/www/myapp/app.js
Restart=always
User=nobody
# Note Debian/Ubuntu uses 'nogroup', RHEL/Fedora uses 'nobody'
Group=nobody
Environment=PATH=/usr/bin:/usr/local/bin
Environment=NODE_ENV=production
WorkingDirectory=/var/www/myapp
[Install]
WantedBy=multi-user.target
Beachten Sie, wenn Sie neu in Unix sind: /var/www/myapp/app.js
sollte #!/usr/bin/env node
in der ersten Zeile stehen.
Kopieren Sie Ihre Servicedatei in den /etc/systemd/system
Ordner.
Informieren Sie systemd über den neuen Dienst mit systemctl daemon-reload
.
Beginnen Sie mit systemctl start myapp
.
Aktivieren Sie es, um beim Booten mit ausgeführt zu werden systemctl enable myapp
.
Siehe Protokolle mit journalctl -u myapp
Dies stammt aus der Bereitstellung von Knoten-Apps unter Linux, Ausgabe 2018 , die auch Befehle zum Generieren einer AWS / DigitalOcean / Azure-CloudConfig zum Erstellen von Linux- / Knotenservern (einschließlich der .service
Datei) enthält.