我想这是一个非常基本的问题,但这仍然使我感到困惑。在开发阶段,当使用“ npm start”启动反应时,我使用的是端口3000。此外,当启动Stradi(后端cms)时,它会自动使用端口1337。
这实际上意味着我的应用程序正在使用两个不同的端口吗?
我之所以这样问,是因为我想配置nginx,以便可以在同一台服务器上运行两个不同的bandi应用程序(附加到两个不同的react应用程序)。
我希望nginx从特定位置重定向到第二个网站。我可以在网站可用文件中写东西:
server {
listen 80;
location / {
proxy_pass "http://mysite:3000";
}
location /mysecondsite {
rewrite ^/mysecondsite(.*) $1 break;
proxy pass "http://mysite:??????? WHAT SHOULD I WRITE HERE?"
}
}
但是我应该将输入第二站点URL的用户重定向到哪个端口?
在trapi文档中,它们指向一个名为server.json的文件,您可以在其中更改trapi使用的端口,并创建一个代理(我不明白为什么您只想从中重定向,为什么会这样做nginx?),例如:
{
"host": "localhost",
"port": 1337,
"proxy": {
"enabled": true,
"ssl": true,
"host": "example.com",
"port": 8443
},
"autoReload": {
"enabled": true
},
"cron": {
"enabled": true
}
}
但是更改第二个项目的端口将仅影响stradi后端,不是吗? 如何为第二个项目的前端创建另一个端口?
很抱歉,如果我误解了这里的条款 预先感谢
答案 0 :(得分:0)
更新2019-06-29:(一个应用程序-前端和皮带)
我之所以回来,是因为我发现有人解决了您的案件,并使用stradi部署了一个应用程序。
How to integrate Strapi API and Admin Panel with another node app (that consumes Strapi API)?
因此,您将必须构建自己的网站应用程序。并将构建内容推送到Strapi应用程序的
./public
文件夹中。
然后,在您的
api/.../config/routes.json
文件中,您必须在每个路由的prefix
键和所有API中添加一个选项config
{ "routes": [ { "method": "POST", "path": "/restaurants", "handler": "Restaurant.create", "config": { "policies": [], "prefix": "/api" } } ] }
- 因此,最后您将在
/admin
上拥有管理员- 以
/api
为前缀的API端点- 还有您在
/
上的网站/资产
并且您不必为第二个应用程序配置nginx,因为只有一个。
您要在端口3000上拥有主React应用程序,并在1337上拥有用于后端API的CMS,供主React应用程序使用?您可以像下面这样使用配置。
nginx.conf
server {
listen 80;
server_name mywebsite.pl www.mywebsite.pl;
location / {
proxy_pass http://mysite:3000/;
}
location /admin/
{
proxy_pass http://mysite:1337/admin/;
}
location /strapi/
{
proxy_pass http://mysite:1337/;
}
}
server.json
{
"host": "localhost",
"port": 1337,
"proxy": {
"enabled": false
},
"autoReload": {
"enabled": true
},
"cron": {
"enabled": false
},
"admin": {
"path": "/admin",
"build": {
"host": "/admin",
"backend": "http://mywebsite/strapi",
"plugins": {
"source": "backend",
"folder": "/strapi"
}
}
}
}
⚠️如果您更改了访问管理的路径,请执行步骤#2 is required ->您必须重设管理员以安装依赖关系并构建项目
NODE_ENV
标志更改为production
。
Run the server with the production settings.