Как запустить AP. NET Основной порт, кроме 5000, в Ubuntu? - PullRequest
0 голосов
/ 27 января 2020

Я использую супервизор в Ubuntu с тех пор, как tnet 2, и у меня не было проблем. Начиная с моего обновления до tnet версии 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 порт по умолчанию установлен на 5000, даже если он настроен на использование 5001.

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>();
        });
}

1 Ответ

0 голосов
/ 27 января 2020

Вам необходимо изменить порт в файле 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}/");
...