【问题标题】:How do I run more than one asp.net core application on Nginx server如何在 Nginx 服务器上运行多个 asp.net 核心应用程序
【发布时间】:2018-04-30 00:16:01
【问题描述】:

我想在同一台服务器上运行两个或多个 asp.net 核心应用程序。但是他们使用的ip和端口是127.0.0.1:5000。

【问题讨论】:

    标签: ubuntu nginx asp.net-core


    【解决方案1】:

    像 nginx 这样的反向代理的意义在于,您可以在其上托管多个应用程序,而不管它们使用什么 internal 端口。因此,您可以轻松地在端口 5000、5001、5002 等上托管应用程序,然后让 nginx 在端口 80 上的不同域上公开所有这些应用程序,甚至作为同一域的子路径(如果应用程序设置正确以支持该应用程序) )。

    所以一个 nginx 配置可能如下所示:

    server {
        server_name host1.example.com;
    
        location / {
            proxy_pass http://localhost:5000/;
            # …
        }
    }
    
    server {
        server_name host2.example.com;
    
        location / {
            proxy_pass http://localhost:5001/;
            # …
        }
    }
    
    server {
        server_name host3.example.com;
    
        location / {
            proxy_pass http://localhost:5002/;
            # …
        }
    }
    

    这将在三个不同的子域 host1.example.com、host2.example.com 和 host3.example.com 上托管三个不同的应用程序,使用内部端口 5000、5001 和 5002。

    当然,这需要您在不同的端口上实际运行您的应用程序。您可以使用 ASPNETCORE_URLS 环境变量来动态设置托管应用程序的 url,例如使用:

    $ ASPNETCORE_URLS=http://localhost:5001 dotnet run
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-04-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-26
      • 1970-01-01
      相关资源
      最近更新 更多