Ubuntu 如何在Nginx服务器上运行多个asp.net核心应用程序

Ubuntu 如何在Nginx服务器上运行多个asp.net核心应用程序,ubuntu,nginx,asp.net-core,Ubuntu,Nginx,Asp.net Core,我想在同一台服务器上运行两个或多个asp.net核心应用程序。但是他们使用的ip和端口是127.0.0.1:5000。像nginx这样的反向代理的要点是,无论他们使用什么内部端口,都可以在其上承载多个应用程序。因此,您可以轻松地在端口5000、5001、5002等上托管应用程序,然后让nginx在端口80上的不同域上公开所有这些应用程序,甚至将其作为同一域的子路径(如果应用程序设置正确以支持此功能) 因此,nginx配置可能如下所示: server { server_name host1

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

像nginx这样的反向代理的要点是,无论他们使用什么内部端口,都可以在其上承载多个应用程序。因此,您可以轻松地在端口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\u url
环境变量动态设置应用程序所在的url,例如使用:

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