ASP .Net Core 的預設埠是5000,如果想在同一臺伺服器上運行多個實例,就不能都監聽5000埠了,需要每一個實例都監聽不同的埠。當然,如果您正在使用IIS或者Jexus來托管,可以不用特意修改埠即可正常運行多個實例。 ...
ASP .Net Core 的預設埠是5000,如果想在同一臺伺服器上運行多個實例,就不能都監聽5000埠了,需要每一個實例都監聽不同的埠。當然,如果您正在使用IIS或者Jexus來托管,可以不用特意修改埠即可正常運行多個實例。
方式一
第一種方式是直接修改修改程式,在初始化Kestrel Server的時候指定埠:
namespace ZKEACMS.WebHost { public class Program { public static void Main(string[] args) { var host = new WebHostBuilder() .UseKestrel() .UseContentRoot(Directory.GetCurrentDirectory()) .UseIISIntegration() .UseStartup() .UseUrls("http://*:5123") //直接指定埠 .Build(); host.Run(); } } }
直接寫死在程式里的這種做法顯然不是推薦的,不方便使用。
方式二
可以通過設置環境變數(ASPNETCORE_URLS)的方式來修改.Net Core的預設埠(5000)。
開發環境
# Unix: ASPNETCORE_URLS="http://*:5123" dotnet run # Windows PowerShell: $env:ASPNETCORE_URLS="http://*:5123" ; dotnet run # Windows CMD (note: no quotes): SET ASPNETCORE_URLS=http://*:5123 && dotnet run
Visual Studio
生產環境
# Unix: ASPNETCORE_URLS="http://*:5123" dotnet application.dll # Windows PowerShell: $env:ASPNETCORE_URLS="http://*:5123" ; dotnet application.dll # Windows CMD (note: no quotes): SET ASPNETCORE_URLS=http://*:5123 && dotnet application.dll
Linux的Unit配置
增加一個Environment配置即可。Environment=ASPNETCORE_URLS=http://*:5123
[Unit] Description=ZKEACMS [Service] WorkingDirectory=/root/cms ExecStart=/usr/bin/dotnet /root/cms/ZKEACMS.WebHost.dll Restart=always RestartSec=10 SyslogIdentifier=zkeacms User=root Environment=ASPNETCORE_ENVIRONMENT=Production Environment=ASPNETCORE_URLS=http://*:5123 [Install] WantedBy=multi-user.target
原文地址:http://www.zkea.net/codesnippet/detail/post-83