在 CentOS 上部署自己的 DotNet 项目,可以通过安装 .NET SDK 或运行时来实现,以下是详细步骤和相关FAQs:
CentOS 版本及 .NET 支持情况
1、CentOS Stream 9:
系统版本查看:通过命令sudo dnf info centosrelease
可以查看当前的系统版本。
.NET 支持情况:CentOS Stream 9 的 AppStream 存储库中包含 .NET,但 .NET Core 3.1 和 .NET 5 已从其中删除,建议使用 .NET 6。
2、CentOS 7 和 8:
.NET 支持版本:
CentOS 7 支持 .NET Core 3.1、.NET 5 和 .NET 6。
CentOS 8 支持 .NET Core 3.1 和 .NET 5,但不支持 .NET 6(因为 CentOS 8 已于 2021 年 12 月 31 日提前结束生命周期)。
安装 .NET
1. 安装前准备
添加 Microsoft 包签名密钥和存储库:
CentOS 7:运行命令sudo rpm Uvh HTTPS://packages.microsoft.com/config/centos/7/packagesmicrosoftprod.rpm
。
CentOS 8:由于已经结束生命周期,建议升级到更新的版本。
2. 安装 .NET SDK
CentOS Stream 9:
安装 .NET SDK 6:sudo dnf install dotnetsdk6.0
。
CentOS 7:
安装 .NET SDK 5:sudo yum install dotnetsdk5.0
。
安装 .NET SDK 6:sudo yum install dotnetsdk6.0
。
3. 安装 .NET 运行时
CentOS Stream 9:
安装 ASP.NET Core 运行时 6:sudo dnf install aspnetcoreruntime6.0
。
或者安装 .NET 运行时 6:sudo dnf install dotnetruntime6.0
。
CentOS 7:
安装 ASP.NET Core 运行时 5:sudo yum install aspnetcoreruntime5.0
。
安装 .NET 运行时 5:sudo yum install dotnetruntime5.0
。
检查安装版本
查看 SDK 版本:运行命令dotnet listsdks
。
查看运行时版本:运行命令dotnet listruntimes
。
配置和挂载服务
1、编辑配置文件:
使用 Vim 编辑配置文件/usr/lib/systemd/system/ZhaiFanhuaImage.service
如下:
```ini
[Unit]
Description=ZhaiFanhuaImage
[Service]
WorkingDirectory=/home/web/zhaifanhua.com/demo/ZhaiFanhuaImage/
ExecStart=dotnet /home/web/zhaifanhua.com/demo/ZhaiFanhuaImage/ZhaiFanhuaImage.dll urls="http://*:9708" ip="127.0.0.1"
Restart=always
RestartSec=10
KillSignal=SIGINT
SyslogIdentifier=ZhaiFanhuaImage
User=root
Environment=ASPNETCORE_ENVIRONMENT=Production
Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false
[Install]
WantedBy=multiuser.target
```
2、更新配置并启动服务:
运行命令systemctl daemonreload
。
启用服务:systemctl enable ZhaiFanhuaBlog
。
禁用服务:systemctl disable ZhaiFanhuaBlog
。
访问应用
直接用 IP 访问:通过浏览器访问http://127.0.0.1:9708
。
FAQs
1、如何在 CentOS Stream 9 上安装 .NET?
答:在 CentOS Stream 9 上,可以通过运行以下命令来安装 .NET SDK 6:sudo dnf install dotnetsdk6.0
,如果只需要运行应用程序,可以安装 .NET 运行时,例如sudo dnf install aspnetcoreruntime6.0
或sudo dnf install dotnetruntime6.0
。
2、如何检查已安装的 .NET 版本?
答:可以通过以下命令查看当前安装的 .NET SDK 版本:dotnet listsdks
,要查看当前安装的 .NET 运行时版本,可以使用命令:dotnet listruntimes
,这些命令会在终端中显示已安装的 .NET 版本的详细信息。