.net5 部署为windows服务 linux服务


安装nuget

Install-Package Microsoft.Extensions.Hosting.WindowsServices
Install-Package Microsoft.Extensions.Hosting.Systemd

调整CreateHostBuilder

public static IHostBuilder CreateHostBuilder(string[] args)
        {
            IHostBuilder hostBuilder = Host.CreateDefaultBuilder(args)
                .UseServiceProviderFactory(new AutofacServiceProviderFactory())
                .ConfigureWebHostDefaults(webBuilder =>
                {
                    webBuilder
                   .UseUrls($"http://{ip}:{port}")
                   .UseStartup()
                   ;
                });

            if (System.OperatingSystem.IsWindows())
            {
                hostBuilder.UseWindowsService();
            }
            if (System.OperatingSystem.IsLinux())
            {
                hostBuilder.UseSystemd();
            }
            return hostBuilder;
        }

windows服务使用sc命令注册
linux服务使用systemd注册-使用systemctl管理