Nginx как запустить сервер. js файл (не html) всегда в каком-то порту? - PullRequest
0 голосов
/ 01 апреля 2020

Я новичок в nginx и знаю, как запустить простой root / var / www/example.com, если он имеет html, он будет работать. Но что, если у меня приложение Angular и мне нужно запустить сервер. js, чтобы заставить работать ssr?

  1. Я могу запустить его с сервером узла. js, но сервер будет занят, и тогда я не смогу ничего написать.
  2. Я попытался изменить путь к своему серверу. js, но это была ошибка.

Как добиться чего-то похожего на это:

  1. сервер узла. js - он будет работать на моем выбранном порту всегда, и я смогу сделать что-нибудь еще на сервере без остановки узла сервера. js команда.

1 Ответ

1 голос
/ 01 апреля 2020

Полагаю, вы намереваетесь развернуть приложение на удаленном сервере, так что это то, что вам нужно.

  1. Запуск node server.js локально непрерывно. Для этого вы можете использовать pm2, который устанавливается с помощью yarn на npm. Убедитесь, что вы установили его глобально:

    npm install pm2 -g
    

    , затем перейдите в папку root и запустите свое приложение, используя

    pm2 start server.js
    

    . Теперь ваше приложение демонтировано, отслеживается и сохраняется живым.

  2. Теперь мы направляемся к nginx. вам нужно будет внести изменения в файл конфигурации с именем default в этом месте: /etc/nginx/sites-enabled

    sudo nano /etc/nginx/sites-enabled/default
    

    Теперь ищите закрывающий тег:

    server {
    
    
    } #this is its closing tag
    
  3. Добавьте прокси перед закрывающим тегом, чтобы перенаправить весь трафик c из порта 80 в ваше приложение ...

    скажем, например, мой сервер. js приложение работает на порту 3000 локально , я добавлю этот код, чтобы файл выглядел следующим образом:

    server{
    
        #a bunch of code that was preexisting.......
    
        location / {
            proxy_pass http://localhost:3000;
            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;
        }
    
    }
    

По крайней мере, это даст некоторое представление о том, что вы ищете .... надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...