2023年12月8日发(作者:)

站长统计

如何在centos7中部署Net6.0程序?

1.首先在linux中安装Net6.0运行时,安装5.0只需要降6.0替换为5.0

添加仓储指令

执行安装命令:

a.如果不需要在linux上编译源码

sudo yum install dotnet-runtime-6.0

b.如果需要在linux上编译源码

sudo yum install dotnet-sdk-6.0

c.如果是有webapi接口或者网页

sudo install aspnetcore-runtime-6.0

安装完成后输入指令

dotnet --info 查看是否安装正确

2.发布net6.0程序

a.直接vs上面右键项目发布,选择文件夹发布,然后一路下一步。

b.上一步是生成了发布配置文件,此时界面会出现一个发布按钮,点击后才是真正发布

3.将2发布的文件全部复制到linux目录/home/dotnetuser/下。

此处我是创建了一个dotnetuser用户,然后自动生成的dotnetuser文件夹,其实不用创建用户也可以。

创建用户指令

sudo useradd -s /sbin/nologin dotnetuser

删除用户指令-r参数表示删除相关联的文件夹等

sudo userdel -r dotnetuser

4.测试一下程序是否能够运行,假设我们的程序名称为

进入/home/dotnetuser/

cd /home/dotnetuser/

输入指令(注意大小写,linux大小写敏感,此处我故意使用了DEmo)

dotnet

运行正常就可以进行下一步,配置守护程序。

5.使用systemd守护程序,保证每次系统启动自动启动服务

在目录/home/dotnetuser/(不一定非得此目录)下创建文件demoService

文件内容如下

[Unit]

Description=demoservice

[Service]

ExecStart=dotnet /home/dotnetuser/

ExecStart=/home/dotnetuser/

User=dotnetuser

Group=dotnetuser

Restart=on-failure

SyslogIdentifier=demoservice

PrivateTmp=true

[Install]

WantedBy=

此处特别注意:

在net5.0中这样就行:ExecStart=dotnet /home/dotnetuser/

在net6.0中得输入全路径:ExecStart=/usr/share/dotnet/dotnet /home/dotnetuser/

ExecStart= ExecStart= User= Group=这几项根据实际情况填写