如何在Ubuntu上运行除5000以外的AP.NET核心端口?
我从Dotnet2开始就在ubuntu上使用supervisor,没有任何问题。自从我升级到dotnet 3.1版后,我收到一个错误,当我的主管文件始终配置为使用5001时,端口5000正在使用如何在Ubuntu上运行除5000以外的AP.NET核心端口?,ubuntu,.net-core,supervisord,Ubuntu,.net Core,Supervisord,我从Dotnet2开始就在ubuntu上使用supervisor,没有任何问题。自从我升级到dotnet 3.1版后,我收到一个错误,当我的主管文件始终配置为使用5001时,端口5000正在使用 [program:myapi]] command=/usr/bin/dotnet /var/www/api/api.dll --server.urls "http://*:5001" directory=/var/www/api/ autostart=true autorestart=true stde
[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: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
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>();
});
}
公共类程序
{
公共静态void Main(字符串[]args)
{
CreateHostBuilder(args.Build().Run();
}
公共静态IHostBuilder CreateHostBuilder(字符串[]args)=>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder=>
{
webBuilder.UseStartup();
});
}
您需要在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}/");
公共静态IWebHostBuilder CreateWebHostBuilder(字符串[]args)=>
WebHost.CreateDefaultBuilder(args)
.UseKestrel()
.UseContentRoot(目录.GetCurrentDirectory())
.Useii整合()
.UseStartup()
.useURL(“{https/http}://localhost:{Port No your want change}/”;
谢谢,但这是一个服务器,不使用LuanchSettings。您说您有另一个应用程序在5000上运行。它在同一台服务器上吗?如果是,则这是错误背后的原因,因为端口已在使用。我在同一服务器上的不同端口下有多个应用程序。在升级到.NETCore3.1之前,它一直运行良好