admin管理员组

文章数量:814757

如何将graphql Api连接到Ec2上托管的nginx上的前端应用程序

我有一个包含以下三个结构的项目的应用程序:

mainapp-> /包裹

    ->/admindashboard
    ->/shopapp
    ->/api
  • 我想在Ec2实例(不是管理员)上部署项目,所以我用以下命令构建了admindashboard和shopapp: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-阿波罗-BaseUI-打字稿-反应钩表格

商店:-NextJs-阿波罗-打字稿样式的组件-条带集成-Formik

API:型GraphQL-类型ORM

谢谢,如果我的解释不清楚,对不起。

回答如下:

我解决了这个问题,实际上在管理项目中,.env文件中的API URL是:

http://localhost:4000/admin/graphql

我不得不像这样将localhost更改为实例的IP地址:

(示例)

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

并且它有效,但是有两个API(一个用于商店,一个用于adminDashboard)我必须在4000端口上运行一个,而另一个在4001端口上运行,现在它可以工作,但是我仍然想知道这是否是部署此类应用程序的正确方法。谢谢大家

本文标签: 如何将graphql Api连接到Ec2上托管的nginx上的前端应用程序