развернуть реагировать, узел в веб-сервере Amazon - PullRequest
0 голосов
/ 10 июля 2019

Я развернул мое приложение стека mern в экземпляре aws ec2. Проблема в том, что мое приложение реагирования прослушивает порт 3000, а мое приложение nodejs прослушивает порт 5000, а также я использовал tus-сервер в узле js, который прослушиваетпорт 8000, как настроить файл ngnix.

server {
    listen 80;
    location / {
        proxy_pass http://PRIVATE_IP_EC2: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;
    }
}

Если я запускаю указанную выше конфигурацию в ngnix, то запускается только реагирующее приложение, тогда я не могу отправить файлы на сервер nodejs. Что я могу сделать, еслихочу, чтобы все порты работали.

Ответы [ 3 ]

1 голос
/ 10 июля 2019

Вы можете добавить другое местоположение в тот же файл конфигурации nginx с некоторым префиксом, для которого вы хотите запустить свое приложение.

Например, если все URL-адреса API приложения nodejs начинаются с префикса / api , вы можете использовать его как

location ^~ /api/ {
   proxy_pass http://PRIVATE_IP_EC2:YOUR_NODEJS_APP_PORT;
   proxy_http_version 1.1;
   proxy_set_header Upgrade $http_upgrade;`enter code here`
   proxy_set_header Connection ‘upgrade’;
   proxy_set_header Host $host;
   proxy_cache_bypass $http_upgrade;
} 
0 голосов
/ 10 июля 2019

У меня такое ощущение, что если ваше приложение React прослушивает порт 3000, значит, вы делаете что-то не так.Разве не ваш create-react-app сервер прослушивает порт 3000?Если это так, вам следует помнить о том, что этот сервер предназначен главным образом для целей разработки, а не для производства.

Если вышеизложенное имеет место, то вам следует build использовать приложение React, используя npm build команда.После того как ваш статический веб-сайт создан, вы можете выбрать решение для хостинга.В AWS предпочтительным способом является настройка корзины S3 для использования функции хостинга веб-сайтов (вам не нужно настраивать какой-либо веб-сервер, такой как Nginx) и загрузка содержимого папки build в приложении React в эту корзину S3.Если вы выберете этот маршрут, не забудьте добавить публичный доступ на чтение к вашему ведру.

0 голосов
/ 10 июля 2019

Вы можете создать другую конфигурацию nginx со своим поддоменом (который будет указывать на ваше приложение узла (я полагаю, ваш бэкэнд). Затем в вашем приложении реагирования используйте ваш поддомен для подключения к вашему внутреннему API-интерфейсу

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