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

问题描述 投票:0回答:1

我从dotnet 2开始就在ubuntu上使用超级用户,没有任何问题。自从我升级到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.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>();
        });
}
ubuntu .net-core supervisord
1个回答
0
投票

您需要更改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}/");
© www.soinside.com 2019 - 2024. All rights reserved.