javascript - 如何通过nginx运行两个react项目
问题描述
我正在使用前端的反应。我有一个在端口 3000 上运行的代码。
在该管理面板下的代码也在那里,我需要移出项目并在不同的端口上单独运行,比如说 3001。所以在 nginx 配置文件中,我已经为这两个项目创建了位置
Under server block
location /admin/ {
proxy_pass http://127.0.0.1:3001;
}
location / {
proxy_pass http://127.0.0.1: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;
}
通过这种方式,当我打开 localhost 时,我的代码运行正常。
现在如果我输入 localhost/admin/ 然后它返回 404。
对于 nginx 路由确认,我更改了管理面板 index.html 的标题,以便清楚地提到我的 nginx 路由是否正常工作所以在此之后,当我点击管理 url 然后通过检查元素我看到了那个标题已更改,但由于主服务器的路由问题,它返回 404。
看起来它同时选择了两条路线。因此,在点击管理 url 后,立即加载 index.html 页面,然后从 3000 端口项目而不是 3001 路由加载。在 3000 端口项目上没有这样的路由,因此它返回 404。
任何人都知道如何解决此类问题。
如果通过 localhost:3000/ 或 localhost:3001/admin/ 等端口号单独运行,两个项目都运行良好
非常感谢任何帮助或建议。提前致谢。
解决方案
从那以后,您已将 3001 端口分配给 /admin 路由。它将在该端口本身上运行。
localhost 默认侦听默认端口 80 localhost/admin 将侦听 80,除非您指定。
您可以创建两个服务器块并提供不同的服务器名称。
server {
listen 3000;
}
server {
listen 3001;
}
推荐阅读
- angular - 控制台抛出“错误类型错误:this.cipherTextService.storeCipher 不是函数”
- python - 为什么关闭优化后时间会变短?
- vb.net - 多次迭代的最佳多线程方案
- python - 如何更改起始索引并使其仅读取特定行而不是整行?
- reporting-services - 如何按 SSRS 折线图中的另一列对类别组进行排序?
- php - WooCommerce 表单字段切换标签和输入的顺序
- javascript - 有没有办法将 URLFetchApp.fetch 从 gs 端传递到 javascript 端
- reactjs - 如何在不遍历状态的情况下访问减速器中的 redux 状态数组属性
- sql-server - 数据透视表包含额外的 NULL 行
- powerbi - 如何获取使用指标(查看次数)