簡體   English   中英

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

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM