一.登入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 配置反向代理,让外网访问