2016-01-12 4 views
0

У меня есть выделенный сервер Godaddy. Мне нужно запустить приложение узла на нем. я могу сделать это с помощью SSH работаетУзел развертывания сервера приложений JS

node app.js 

Проблема заключается в том, что, когда соединение SSH отключен ... Приложение перестает работать.

Как запустить его так, чтобы он не останавливался.

ответ

0

Создать скрипт (например. yourScript.sh), и поместите команду «узел app.js» внутри.

Пример yourScript.sh:

#!/usr/bin/env bash 
node app.js 

Убедитесь, что разрешение на выполнение:

chmod +x yourScript.sh 

Затем запустите с:

nohup ./yourScript.sh & 

Это будет означать, что процесс Безразлично» t при отключении. Nohup ловит сигналы HUP. Nohup не выполняет задание автоматически в фоновом режиме. Мы должны сказать, что в явном виде с помощью &

+0

будет также работать, если сервер перезагружается ?? –

+0

@SatyamSaxena - нет, если вы перезагрузите его, он не перезагрузится. Какую ОС вы используете (сервер godaddy)? Ваш вопрос задал вопрос о том, как предотвратить процесс, когда вы отключите сеанс SSH. Для автоматического перезапуска вам просто нужно выполнить сценарий оболочки, используя ту же загрузку, что и ОС. – arcseldon

+0

@SatyamSaxena - обновили ответ, чтобы предоставить вам небольшую информацию о создании сценария оболочки. Как поживаешь? – arcseldon

0

Я использую Supervisor для запуска Node.js приложения в производстве. Она имеет удобный API командной строки, чтобы показать состояние процесса, старт/стоп это позволяет перезапустить при перезагрузке и т.д.

Конфигурационный файл выглядит следующим образом:

[program:myapp] 
directory=/home/myapp/app/current 
command=node server/index.js 
autostart=true 
autorestart=true 
environment= 
    PORT=3000, 
    MY_ANOTHER_VAR="something" 
stderr_logfile=/var/log/myapp.err.log 
stdout_logfile=/var/log/myapp.out.log 
user=myapp 
Смежные вопросы