2017-10-24 1 views
1

ich versuche node.js Server beim Start der Maschine zu starten (ubuntu 16.04) mit Emporkömmling durch den folgenden Code in nodeserv.conf Datei:auf Maschinenstart

#!upstart 
description "Node.js server" 
author "Sushant Kumar" 

start on started mountall 
stop on shutdown 

respawn 
respawn limit 99 5 

script 
    export APP_HOME = "/home/ubuntu/chatbot_server" 
    export HOME = "/home/ubuntu" 
    cd $APP_HOME 
    exec sudo -u ubuntu /usr/local/nodejs/bin/node $HOME/chatbot_server/server.js >> /var/log/chatbotserv.log 2>&1 
end script 

post-start script 
    echo "Node Started" 
end script 

, aber ich betreibe den Befehl

# start nodeserv 

ich den followig Fehler: >>start: Job failed to start. Kann mir bitte jemand helfen wo ich falsch liege?

Bearbeiten: Dieser Server wird auf AWS EC2-Instanz gehostet (wenn das hilft, ich glaube nicht, dass es relevant ist, aber nur für den Fall).

+0

Ich weiß nicht über PM2, aber ich habe für immer-Service verwendet, aber es konnte nicht gelingen. Ich möchte keine weiteren Module/Pakete verwenden, möchte nur wissen, warum dieses Skript nicht wie erwartet funktioniert. –

Antwort

0

Sie können dies tun, indem Sie Ihre App als Dienst ausführen. Sie können forever verwenden, um sicherzustellen, dass ein bestimmtes Skript kontinuierlich ausgeführt wird. Zunächst einmal müssen Sie für immer installieren. Gehe dann in dein Projektverzeichnis und installiere forever-monitor. Jetzt können Sie Ihre App starten.

npm install forever -g 
cd /path/to/your/project 
npm install forever-monitor 
forever start app.js 

Jetzt müssen Sie forever-service benutzen, um Ihre Knoten Skript als service.Firstly zu bauen, installieren forever-Service und dann Ihre Anwendung als Dienst installieren.

Wenn Sie an Ihrem Skript arbeiten möchten, können Sie diesen Code in Ihrem Skript ersetzen.

export HOME="/root" 
exec /usr/local/nodejs/bin/node /home/ubuntu/chatbot_server/server.js >> /var/log/node.log 2>&1