Запуск узла сервера при запуске машины

Я пытался запустить сервер node.js при запуске машины (ubuntu 16.04) с выскочкой, используя следующий код в файле nodeserv.conf:

#!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

, но я запускаю команду

# start nodeserv

Я получаю следующую ошибку: >>start: Job failed to start. Может ли кто-нибудь помочь мне, пожалуйста, где я ошибаюсь?

Изменить: этот сервер размещен на экземпляре AWS EC2 (если это поможет, я не думаю, что это актуально, но на всякий случай).


person Sushant Kumar    schedule 24.10.2017    source источник
comment
Не знаю насчет pm2, но я использовал службу навсегда, но это не удалось. Я не хочу больше использовать какие-либо модули/пакеты, просто хочу знать, почему этот скрипт не работает должным образом.   -  person Sushant Kumar    schedule 24.10.2017


Ответы (2)


Взгляните на PM2.

PM2 — действительно мощный менеджер процессов Node.js.

После установки приложения вы можете легко установить его при запуске с помощью:

sudo systemctl start pm2-yourusername
person Lucas    schedule 03.10.2019

Вы можете сделать это, запустив приложение как службу. Вы можете использовать навсегда, чтобы обеспечить непрерывную работу данного скрипта. В первую очередь нужно установить навсегда. Затем перейдите в каталог вашего проекта и установите Forever-Monitor. Теперь вы можете запустить свое приложение.

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

Теперь вам нужно использовать forever-service для создания сценария узла как службы. Во-первых, установите навсегда-сервис, а затем установите приложение как сервис.

npm install -g forever-service
forever-service install test

Если вы хотите работать над своим скриптом, вы можете заменить этот код в своем скрипте.

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