如何在一个域上运行两个React项目?

时间:2019-03-22 05:36:53

标签: reactjs nginx routes

我是服务器配置的新手。我在Linode服务器上有两个正在运行的React项目,分别为port 30005000。这两个React项目是不同的。端口3000用于主页,端口5000用于管理页面。现在,我还以https://www.testeam.com的价格购买了域名。如何将域名映射到我的React项目,如下所示?

+-------|---------------|-----------------------------+
| Page  | react project | Domain Name                 |
+-------|---------------|-----------------------------+
| Home  | port 3000     | https://www.testeam.com     |
+-------|---------------|-----------------------------+
| Admin | port 5000     | https://www.testeam.com/app |
+-------|---------------|-----------------------------+

注意:可以使用其他目录app访问管理页面。

1 个答案:

答案 0 :(得分:0)

您可以对nginx使用反向代理。请阅读有关此主题的更多信息here

假设您只想在https中提供这些服务,这将是端口443的建议服务器块:

server {
    listen 443 ssl;
    listen [::]:443 ssl;

    server_name testeam.com www.testeam.com;

    # to map "Home" page
    location / {
        proxy_pass http://localhost:3000;
        # add other proxy configurations here
    }

    # to map "Admin" page
    location /app/ {
        proxy_pass http://localhost:5000;
        # add other proxy configurations here
    }

    # include SSL configurations here
}

添加: 如果要确保在添加SSL配置之前可以进行此操作,则可以使用相同的服务器块,但是将443更改为80。如果满意,请仅使用端口80重定向到https,然后使用上面的服务器块在https中提供页面,

希望这会有所帮助!