您现在的位置是:网站首页>编程语言
如何CentOS 7.6系统中部署.NET6项目
【编程语言】阿文2022年6月21日3422浏览
简介最近把自己的项目都用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后丝滑不少!!!
评论文明上网,理性发言0条评论