如何在本地网络上使用apollo cient和apollo-server后端部署react应用。

问题描述 投票:-1回答:1

我这几天一直在纠结如何在本地网络中部署一个后端有apollo服务器的react应用,用windows服务器,客户希望后端有apollo服务器和monggodb的react应用能在他们本地网络中运行,就是在他们的web浏览器上输入服务器上的本地IP地址,比如192.168.1.129,应用就能运行。我不能把它部署到heruko上,因为这会给客户带来额外的初始成本,这几天我一直在搜索教程,发现在IIS,NGINX,PM2上有反向代理,但没有明确的步骤详细指导如何做,任何帮助将是非常感激的......否则2个月的代码将付诸东流,。

reactjs deployment apollo apollo-client pm2
1个回答
0
投票

Caveat:我对Apollo不熟悉,以下只是在遵循Apollo入门指南的基础上提出的建议(https:/www.apollographql.comdocsapollo-servergetting-started)

  1. 通过以下方式在服务器上运行Apollo node index.js. 这将绑定到 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 服务脚本。

希望这对你来说足够了。

© www.soinside.com 2019 - 2024. All rights reserved.