Приложение NodeJS, работающее на VPS (linux), вылетает, когда я кладу ноутбук в спящий режим

Я на 100% новичок в VPS и Linux со вчерашнего дня, и у меня возникла проблема. Вот как выглядит процесс:

  1. Я подключаюсь по SSH к своему VPS-серверу в терминале OSX. VPS работает под управлением CentOS 6, чего он стоит.
  2. Я перехожу в нужную папку и запускаю node app.js, чтобы запустить приложение в _2 _ / _ 3_.
  3. Приложение запускается и становится легко доступным через Интернет по IP-адресу моего VPS + выделенный номер порта.
  4. Если я переведу свой ноутбук в спящий режим, приложение выйдет из строя и больше не будет доступно через Интернет.

Опять же, будучи новичком в Linux, я не знаю, как решить эту проблему. Это имеет смысл, поскольку терминал, который запускал / вел журналы приложения узла, больше не отвечает, но мне бы хотелось:

a) Чтобы иметь возможность запускать приложение удаленно, а затем просто ... запускать ... вечно, пока я не остановлю его вручную b) Чтобы иметь возможность периодически возвращаться по SSH на мой сервер для проверки журналов, либо через мой мобильный телефон телефон или мой ноутбук.

Возможны ли эти две вещи? Ясно, что мой протокол запуска приложения через терминал (как я обычно это делаю, если запускаю его локально) не является правильным способом сделать это, но у меня проблемы с поиском ресурсов, говорящих мне, что делать!

РЕДАКТИРОВАТЬ: я на самом деле использую Node Supervisor для запуска приложения, которое помогает поддерживать его работоспособность, когда что-то сбой, не уверен, повлияет ли это на ситуацию.


person JVG    schedule 27.11.2013    source источник


Ответы (1)


Скорее всего, ваше приложение печатает на стандартном выходе (консоль), и этот поток закрывается / прерывается, когда вы переводите свой ноутбук в спящий режим.

Есть как минимум два варианта:

  1. Используйте экран: просто введите screen перед запуском приложения. Затем запустите свое приложение. Затем Ctrl-A-D, чтобы отсоединиться от экрана. Затем вы можете безопасно выйти из VPS и перевести свой ноутбук в спящий режим. Чтобы вернуться к выходным данным вашего приложения, войдите в систему и введите screen -r

  2. Запустите приложение в фоновом режиме: node app.js &.

person Christian Fritz    schedule 27.11.2013
comment
Чтобы уточнить, с Screen я могу запустить его из OSX или из моего SSH-соединения с CentOS? - person JVG; 27.11.2013
comment
Изнутри вашего ssh-соединения на CentOS. - person Christian Fritz; 27.11.2013