Lightsail AWS Node.js начинаются вечно - PullRequest
1 голос
/ 10 марта 2019

Я экспериментирую с Vapid CMS и хочу загрузить новый сайт на мой сервер Amazon Lightsail. Vapid зависит от Node.js, и я смог загрузить Vapid в свою учетную запись и настроить все, используя статический IP-адрес, который у меня есть через AWS.

Способ работы Vapid заключается в том, что, находясь в корневой папке, вы называете vapid start. запустить сервер и посмотреть свой сайт / получить доступ к панели инструментов. Я настроил его так, чтобы статический IP-адрес сервера AWS перенаправлялся на значение по умолчанию http://localhost:3000, которое активируется при запуске Vapid.

Основная проблема, с которой я столкнулся, заключается в том, что сайт Vapid не остается активным очень долго. Если после выхода из Vapid я выхожу из терминала AWS, через несколько минут сайт переходит в «Сервис недоступен». Есть ли способ, чтобы эта вечеринка работала вечно, чтобы мой сайт работал до конца времени?

Ответы [ 2 ]

2 голосов
/ 10 марта 2019

Вы можете использовать Systemd для поддержания работы вашего процесса.Это обеспечит запуск процесса Vapid CMS и перезапустит его после сбоя.

Отметьте один из следующих руководств:

1 голос
/ 10 марта 2019

Хотя Systemd или PM2 можно использовать для поддержания работы узла в случае сбоя, это не помешает его закрытию, если вы запускаете эти команды из терминала, используя ssh для доступа к серверу, а затем выходите из терминала.

Это связано с тем, что терминал отправит команду завершения сигнала (SIGHUP) процессу, когда он будет закрыт.

Самый простой способ предотвратить это - использовать команду nohup. Он предназначен для этой цели. Вместо vapid start запустите:

nohup vapid start &

Команда nohup предотвратит отправку терминалом SIGHUP при выходе. Команда & запустит процесс в фоновом режиме, что позволит вам запускать дополнительные команды терминала (например, выход).

...