Ich verwende http-server
, um eine einfache Angular-Anwendung zu bedienen. Die Anwendung läuft gut, wenn ich sie von bash aus laufe. Aber wenn ich versuche, von Systemd Unit-Datei auszuführen, schlägt es fehl.HTTP-Server startet nicht in Systemd
Dies ist die Systemd Unit-Datei, die ich verwendet habe, um es auszuführen.
[Unit]
Description=web_app
Requires=network.target
After=multi-user.target
[Service]
ExecStart=/usr/bin/http-server -p 80
Type=forking
WorkingDirectory=/home/ubuntu/jenkins/workspace/deepcareweb_dev
Restart=always
RestartSec=10
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=web_app
User=root
#Group=<alternate group>
#Environment=NODE_ENV=production PORT=1337
[Install]
WantedBy=multi-user.target
Was soll ich tun http-server
von systemd Unit-Datei ausführen?
Edit 1: systemctl status
$ sudo systemctl status web_app
● web_app.service - web_app
Loaded: loaded (/etc/systemd/system/web_app.service; enabled; vendor preset: enabled)
Active: inactive (dead) (Result: exit-code) since Sun 2017-03-05 06:17:14 UTC; 10s ago
Process: 1879 ExecStart=/usr/bin/http-server -p 80 (code=exited, status=200/CHDIR)
Main PID: 1354 (code=exited, status=200/CHDIR)
Mar 05 06:17:14 ip-172-31-22-251 systemd[1]: web_app.service: Control process exited, code=exited status=200
Mar 05 06:17:14 ip-172-31-22-251 systemd[1]: Failed to start web_app.
Mar 05 06:17:14 ip-172-31-22-251 systemd[1]: web_app.service: Unit entered failed state.
Mar 05 06:17:14 ip-172-31-22-251 systemd[1]: web_app.service: Failed with result 'exit-code'.
Mar 05 06:17:14 ip-172-31-22-251 systemd[1]: web_app.service: Service hold-off time over, scheduling restart.
Mar 05 06:17:14 ip-172-31-22-251 systemd[1]: Stopped web_app.
Mar 05 06:17:14 ip-172-31-22-251 systemd[1]: web_app.service: Start request repeated too quickly.
Mar 05 06:17:14 ip-172-31-22-251 systemd[1]: Failed to start web_app.
Wie läuft es und welchen Fehler bekommen Sie? –
@BurhanKhalid Wenn ich 'sudo systemctl starte web_app' starte, heißt es' Job für web_app.service 'fehlgeschlagen, weil der Kontrollprozess mit Fehlercode beendet wurde. Siehe "systemctl status web_app.service" und "journalctl -xe" für Details. –
... und was sagt das Protokoll? 'systemctl status web_app'? –