我从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>();
});
}
您需要更改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}/");