vitovt
@vitovt

Как запустить Nodejs в фоне вместе с Nginx?

Разворачиваем на сервере, на котором есть другие вирутальные хосты, фронтэнд, написанный на React

Ребята говорят, надо запускать nodejs сервер.

С точки зрения настроек Nginx все понятно -
location / {
                proxy_pass http://localhost:8080;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection 'upgrade';
                proxy_set_header Host $host;
                proxy_cache_bypass $http_upgrade;
        }


Для работы ноды предлагают заходитть в папку с проектом и там запускать

sudo npm run build

Пока процесс запущен - все работает, как только выхожу из консоли - сервер тухнет, все, Nginx отдает 502

Как этот нод запускать в фоне, как процесс, как сам nginx ?
  • Вопрос задан
  • 663 просмотра
Решения вопроса 1
iiiBird
@iiiBird
Пока ты спишь - твой конкурент совершенствуется
sudo npm run build - билдит js файл который ты должен подключить к документу. тогда приложение будет работать без npm
отлаживать приложение надо через npm run start - тогда приложение будет работать только когда запущен npm, зато все внесенные изменения сразу же будут отображаться в live режиме.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
k12th
@k12th
console.log(`You're pulling my leg, right?`);
Если фронтенд надо запускать при помощи nodejs сервера, да еще под sudo, то что-то пошло очень не так:)

Попробуйте pm2.
Я успешно использовал supervisord. Еще говорят, что в дистрибутиве с systemd очень просто написать т.н. unit и он сам будет запускаться при старте и перезапускаться при падении.
Ответ написан
gadfi
@gadfi
https://gamega.org
npm run build это чтобы из кучи класоов приправленных es6/es7 получить нормальный бандл html+js

сделайте npm run build в папке проекта, там появится попка build, а вот с ней и потсупайте как с обычной html страничкой
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы