net 7部署到Linux并开启https

1.修改代码设置后台服务运行

安装nuget包

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

在Program代码中设置服务后台运行

var builder = WebApplication.CreateBuilder(args);

if (System.OperatingSystem.IsWindows())
{
    builder.Host.UseWindowsService();
}

if (System.OperatingSystem.IsLinux())
{
    builder.Host.UseSystemd();
}


var app = builder.Build();

appsettings.json 设置https配置,注意ssl证书申请

 "Kestrel": {
    "Endpoints": {
      "Http": {
        "Url": "http://localhost:7000"
      },
      "Https": {
        "Url": "你的域名",
		"Certificate":{
				"Path":"证书",
				"Password":"密码"
			}
      }
    }
  }

右键发布

2.安装net7环境并启动项目

#将 Microsoft 包签名密钥添加到受信任密钥列表,并添加 Microsoft 包存储库。

sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm

#安装 SDK

sudo yum install dotnet-sdk-7.0


#启动项目

dotnet 项目名称.dll

3.配置域名解析后成功在域名上访问到指定接口 (网站ip为服务器ip)

4.配置服务自启动

新增  服务名.service 文件放到/usr/lib/systemd/system目录下

下面是文件示例

# Unit 服务描述
[Unit]
Description=dangjian service

# Service 配置参数
[Service]

# 自启动项目所在的位置路径
WorkingDirectory=/usr/local/project
#StandardOutput=journal
#StandardError=journal

# 自启动项目的命令,这里用了dotnet启动,所以前面添加了dotnet的路径/usr/bin/
ExecStart= dotnet 项目名称.dll
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target

新增文件后安装及启动服务

systemctl enable /etc/systemd/system/服务名称.service

systemctl start 服务名称.service

好了,到最后一步我们就完成了一个net7项目部署到Linux并启用https,有不足之处欢迎大家指出

参考文献

.net5 .net6 .net7指定发布端口 http https

.net 部署为windows服务 linux服务

在 CentOS Linux 上安装 .NET - .NET | Microsoft Learn

.netcore centos配置systemctl自动启动

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值