【问题标题】:How to deploy react app with apollo cient and apollo-server backend on local network如何在本地网络上部署带有 apollo 客户端和 apollo-server 后端的 React 应用程序
【发布时间】:2020-09-20 12:26:45
【问题描述】:

这几天我一直在努力,关于如何在本地网络的后端部署带有 apollo 服务器的 react 应用程序,使用 windows 服务器,客户端想要后端的 react 应用程序是apollo 服务器和 monggodb 在他们的本地网络上运行,在他们的网络浏览器上键入服务器上的本地 IP 地址,如 192.168.1.129,应用程序将运行。我不能将它部署到heruko,因为它会给客户端带来额外的费用,这几天我一直在寻找教程,在IIS、NGINX、PM2上找到了反向代理,但没有明确的分步详细说明如何做关于它,任何帮助将不胜感激......否则 2 个月的代码将付诸东流,

【问题讨论】:

    标签: reactjs deployment apollo apollo-client pm2


    【解决方案1】:

    警告: 我对 Apollo 不熟悉,以下只是基于遵循 Apollo 的入门指南(https://www.apollographql.com/docs/apollo-server/getting-started/)的建议

    1. 通过node index.js在服务器中运行Apollo。这将绑定到http://localhost:4000(或者可能不同,只需查看 CLI 的内容)

    以这种方式运行,我认为在开发模式下运行代码。您可能希望在生产模式下运行它。我认为使用NODE_ENV=production node index.js 会做到这一点,但我不完全确定。

    1. IIS 中的反向代理(因为您在 Windows 上),以便访问服务器的 IP 地址,将端口 80 代理到 localhost:4000。在 Nginx 中,它会是这样的:
    server {
        listen 80 default_server;
    
        location / {
            proxy_pass http://127.0.0.1:4000;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
        }
    }
    
    1. 弄清楚如何将 Apollo 的运行转换为启动和后台进程。遗憾的是,我不熟悉 Windows 服务器管理,但在 Ubuntu 中,这将通过 systemd 服务脚本进行。

    希望,这足以让你继续。

    【讨论】:

      猜你喜欢
      • 2019-10-21
      • 2020-05-14
      • 1970-01-01
      • 2019-04-28
      • 2019-03-17
      • 1970-01-01
      • 2021-07-07
      • 2020-06-12
      • 2022-12-12
      相关资源
      最近更新 更多