2017-03-05 4 views
1

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. 
+0

Wie läuft es und welchen Fehler bekommen Sie? –

+0

@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. –

+0

... und was sagt das Protokoll? 'systemctl status web_app'? –

Antwort

0

Versuchen Sie, die "Restart = immer" Zeile entfernen, da sie die "Startanfrage zu schnell wiederholt" Fehler auslöst. Nachdem Sie es entfernt haben, sollten Sie eine echte Fehlermeldung haben.

In meinem Fall der Fehler "Fehler bei Schritt CHDIR Laich/usr/local/bin/http-Server: Keine solche Datei oder das Verzeichnis"

Ändern der "Working" Variable "/" und die „ExecStart "to"/usr/bin/http-server WORKINGDIRECTORY -p 80 "löste es für mich.