как подключить graphql Api к интерфейсным приложениям на nginx, размещенном на Ec2 - PullRequest
0 голосов
/ 09 мая 2020

У меня есть приложение, состоящее из трех проектов со следующей структурой:

mainapp -> / packages

    ->/admindashboard
    ->/shopapp
    ->/api
  • Я хочу развернуть проект на экземпляре Ec2 ( который я не администратор), поэтому я создал админдашборд и магазин с помощью: yarn build
  • добавил Nginx и настроил файл / nginx / sites-available / default следующим образом:
server {
   listen 80 default_server;
   server_name localhost;
   location / {
         root /var/www/mainapp/packages/shopapp/out;
         index index.html index.htm;
   }
}

#running admin-Dashboard
server {
   listen 3000 default_server;
   server_name localhost;
   location / {
         root /var/www/mainapp/packages/admindashboard/build;
         index index.html index.htm;
   }
}

- это заставило работать приложения для буксировки, но я не смог связать api. когда я запускаю yarn dev:api-shop or yarn dev:api-admin, он показывает, что он работает на порту 4000, но переднее приложение не может получить данные, оно не может получить или отправить в api.

каков правильный способ Развернуть такой проект?

Технологии проекта:

Панель администратора: -CRA -Apollo -BaseUI -Typescript -React Hook Form

Магазин: -NextJs - Apollo -Typescript -Styled Components -Stripe Integration -Formik

API: -Type GraphQL -Type ORM

спасибо, и извините, если мое объяснение неясно.

1 Ответ

0 голосов
/ 10 мая 2020

Я решил проблему, на самом деле в проекте администратора в файле .env URL-адрес API был:

http://localhost:4000/admin/graphql

Мне пришлось изменить localhost на IP-адрес экземпляра следующим образом:

(пример)

http://15.xxx.xx.xxx:4000/admin/graphql

, и он работал, но имея два API (один для магазина и один для панели администратора), мне пришлось запустить один на порту 4000, а другой на 4001 , Теперь это работает, но мне все еще интересно, правильно ли это развертывать такое приложение. спасибо вам всем

...