一.登入linux (CentOS) 后,安装 .Net Core 3.1 / .Net 6 SDK 和 RunTime 环境

sudo dnf install dotnet-sdk-3.1 
sudo dnf install dotnet-sdk-6.0
sudo dnf install aspnetcore-runtime-3.1
sudo dnf install aspnetcore-runtime-6.0

如果提示 dnf 命令不存在,先安装 dnf

yum install dnf
DNF 是新一代的 rpm 软件包管理器。他首先出现在 Fedora 18 这个发行版中。而最近,它取代了 yum,正式成为 Fedora 22 的包管理器。
DNF 包管理器克服了 YUM 包管理器的一些瓶颈,提升了包括用户体验,内存占用,依赖分析,运行速度等多方面的内容。DNF使用 RPM, libsolv 和 hawkey 库进行包管理操作。尽管它没有预装在 CentOS 和 RHEL 7 中,但你可以在使用 YUM 的同时使用 DNF 

如果提示 No match for argument: dotnet-sdk-3.1 之类的,需要先将 Microsoft 包签名密钥添加到受信任密钥列表,并添加 Microsoft 包存储库

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

安装完成之后,可以执行查看是否成功及版本

dotnet --list-sdks
dotnet --list-runtimes

 

二.通过 WinSCP 工具(Linux文件传输工具),把项目文件,迁移到 Linux 中
目录暂且为 /home/demo/

 

三.执行项目
进入项目目录,执行

 dotnet MyProject.dll

运行成功,说明项目可以正常在linux上运行了

 

四.创建 .Net Core 项目守护进程,并配置为开机启动 
1.在 etc/systemd/system 下创建启动配置文件 MyProject.service
内容如下

[Unit] 
Description="demo Service"
[Service] 
Type=simple 
GuessMainPID=true 
WorkingDirectory=/home/demo/        //项目路径
Standardoutput=journal
StandardError=journal
ExecStart=/usr/bin/dotnet MyProject.dll //启动指令
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target

并在 system 目录下,运行启动命令

 使自启动生效
systemctl enable MyProject.service

立即启动项目服务
systemctl start MyProject.service

立即停止项目服务
systemctl stop MyProject.service

查看服务状态
systemctl status MyProject.service

新旧版本的 .Net Core 存储的位置会有区别,可使用软链接来进行关联旧的路径 sudo ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet

五.如果是 Web项目,可安装 Nginx/Tengine 配置反向代理,让外网访问