连接到Ec2上托管的nginx上的前端应用程序"/>
如何将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上的前端应用程序
发布评论