![](/img/trans.png)
[英]ASP.Net Core application service only listening to Port 5000 on Ubuntu
[英]How Run ASP.NET Core port other than 5000 on Ubuntu?
自 dotnet 2 以來,我一直在 ubuntu 上使用主管,並且沒有遇到任何問題。 自從我升級到 dotnet 3.1 版后,我收到一條錯誤消息,指出端口 5000 正在使用中,而我的主管文件始終配置為使用 5001。
[program:myapi]]
command=/usr/bin/dotnet /var/www/api/api.dll --server.urls "http://*:5001"
directory=/var/www/api/
autostart=true
autorestart=true
stderr_logfile=/var/log/api.err.log
stdout_logfile=/var/log/api.out.log
environment=ASPNETCORE_ENVIRONMENT=Development
user=www-data
stopsignal=INT
我有另一個在 5000 上運行的應用程序運行良好,但無法弄清楚為什么升級到 3.1 后,即使配置為使用 5001,端口也默認為 5000。
Program.cs 非常標准
public class Program
{
public static void Main(string[] args)
{
CreateHostBuilder(args).Build().Run();
}
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
});
}
您需要在 LaunchSettings.json 文件中更改端口。
"{Your Project Name}": {
"commandName": "Project",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
},
"applicationUrl": "{http/https}://localhost:{Port No You want to change}/"
},
或在 program.cs 中使用以下代碼
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseKestrel()
.UseContentRoot(Directory.GetCurrentDirectory())
.UseIISIntegration()
.UseStartup<Startup>()
.UseUrls("{https/http}://localhost:{Port No You want to change}/");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.