create-react-app 打包的应用和 Express 项目怎样部署在同一台服务器上?

发布于 2022-09-06 16:03:30 字数 516 浏览 18 评论 0

我用 create-react-app 打包出来了 build 目录,已经放在服务器上(腾讯云,centos),跑在默认的5000端口;同时还有一个 Express 的项目,为前面的 React 应用提供接口,跑在4000上。在本地跑的时候完全没问题,在 create-react-app 的 package.json 里设置 proxy: localhost:4000 就万事大吉了,然而服务器上怎么搞呢?主要是 nginx 怎么配置?

现在的 nginx 是这样的,没改过。在浏览器里访问服务器 ip,文档和静态资源都没问题,就是 ajax 返回的都是 index.html 的内容。

server {
        listen       80;
        server_name  localhost;
        location / {
            proxy_pass http://127.0.0.1:5000;
        }
 }
 

为这个急了一天也没找到有效的解决方案,感谢大家了。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

苯莒 2022-09-13 16:03:30

比如,你的ajax接口的地址都为 /api/......
此时,需要nginx配置:

server {
    listen 5000;
    location / {
        root /home/xxx; #前端部署地址
        index index.html;
        try_files $uri /index.html;
    }
    location /api {
        proxy_pass http://localhost:4000/api;
     }
}
胡大本事 2022-09-13 16:03:30

请问楼主 前端代码和后面代码是分别npm run build 吗?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文