您现在的位置是:网站首页>编程语言

如何CentOS 7.6系统中部署.NET6项目

编程语言阿文2022年6月21日3123浏览

简介最近把自己的项目都用net6升级了一遍,现在把如何CentOS7.6系统中部署.NET6项目的过程记录一下.其中也有自己踩坑的地方,比如网上又说如果不需要在linux上编译源码就不用安装SDK,只用安……

        最近把自己的项目都用net6升级了一遍,现在把如何CentOS 7.6系统中部署.NET6项目的过程记录一下.其中也有自己踩坑的地方,比如网上又说如果不需要在linux上编译源码就不用安装SDK,只用安装.Net Core Runtime就可以,但是我自己实测部署时还是遇到缺少SDK文件,可能我net6项目打包选择的是【可移植】【依赖框架】的发布模式的原因。

一、环境安装

1. 查看操作系统版本:

lsb_release -a

2. Install .NET Core SDK【安装.Net Core SDK】

首先在CentOS系统中执行命令,注册Microsoft密钥,安装.NET之前,需要注册Microsoft密钥,注册产品存储库并安装所需的依赖项。这只需要每台机器完成一次:

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

然后安装.Net Core SDK

sudo yun install dotnet-sdk-6.0

3. Install .NET Core Runtime【安装.Net Core Runtime】

sudo yum update sudo yum install aspnetcore-runtime-6.0

安装完成后,查看安装环境版本信息

dotnet --info

二、发布项目

1.首先把本地发布好的文件通过xftp把发布包上传至CentOS上

 比如我自己的站点目录选择放在/data/web/site01目录下面

2. 查看后台是否能够运行:

cd 进入/data/web/site01 下,执行 dotnet NetCoreTest.dll (我自己的测试项目名称是NetCoreTest)

测试站点是否能访问:

curl  http://localhost:5000

三、配置Nginx反向代理

具体安装和配置参考前面 【Nginx安装配置篇

四、配置Supervisor守护服务:

第一种使用Supervisor,具体安装和配置参考前面 【Supervisor安装配置篇

第二种使用systemd守护程序,保证每次系统启动⾃动启动服务,具体配置如下:

.service 文件配置的服务常用systemd管理。然而,systemd有系统和用户区分;
系统(/user/lib/systemd/system/)、
用户(/etc/lib/systemd/user/)。
一般系统管理员手工创建的单元文件建议存放在/etc/systemd/system/目录下面。

在⽬录/home/dotnetuser/(不⼀定⾮得此⽬录)下创建⽂件demoService,一般是在/usr/lib/systemd/system/目录下

⽂件内容如下:

[Unit]
Description=demoservice
[Service]
ExecStart=dotnet /data/web/site01/NetCoreTest.dll
ExecStart=/data/web/site01/
User=dotnetuser (此处用户可以自己创建也可以用默认的)
Group=dotnetuser
Restart=on-failure
SyslogIdentifier=demoservice
PrivateTmp=true
[Install]
WantedBy=multi-user.target

此处特别注意:

在net5.0中这样就⾏:ExecStart=dotnet /data/web/site01/NetCoreTest.dll

在net6.0中得输⼊全路径:ExecStart=/usr/share/dotnet/dotnet /data/web/site01/NetCoreTest.dll

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


至此在CentOS 7.6系统中部署.NET6项目已经搞定,项目升级net6后丝滑不少!!!


标签: .net C# netcore Centos linux

0

评论文明上网,理性发言0条评论