Suche…


Einführung

Im Gegensatz zu vielen anderen Webservern wird Node nicht als Standarddienst installiert. In der Produktion ist es jedoch besser, es als dæmon laufen zu lassen, das von einem init-System verwaltet wird.

Node.js als systemd dæmon

systemd ist das De-facto- Init-System in den meisten Linux-Distributionen. Nachdem der Knoten für die Ausführung mit systemd konfiguriert wurde, können Sie ihn mit dem service verwalten.

Erstens benötigt es eine Konfigurationsdatei, erstellen wir sie. Für Debian-basierte Distributionen ist dies in /etc/systemd/system/node.service

[Unit]
Description=My super nodejs app

[Service]
# set the working directory to have consistent relative paths
WorkingDirectory=/var/www/app

# start the server file (file is relative to WorkingDirectory here)
ExecStart=/usr/bin/node serverCluster.js

# if process crashes, always try to restart
Restart=always

# let 500ms between the crash and the restart
RestartSec=500ms

# send log tot syslog here (it doesn't compete with other log config in the app itself)
StandardOutput=syslog
StandardError=syslog

# nodejs process name in syslog
SyslogIdentifier=nodejs

# user and group starting the app
User=www-data
Group=www-data

# set the environement (dev, prod…)
Environment=NODE_ENV=production


[Install]
# start node at multi user system level (= sysVinit runlevel 3) 
WantedBy=multi-user.target

Es ist jetzt möglich, die App zu starten, zu stoppen und erneut zu starten:

service node start
service node stop
service node restart

Um systemd systemctl enable node beim Booten automatisch zu starten, geben Sie systemctl enable node : systemctl enable node .

Das ist alles, Knoten läuft jetzt als dæmon.



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow