如何在Ubuntu上运行除5000以外的AP.NET核心端口?

如何在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

我从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
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之前,它一直运行良好