前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CentOS上部署自己的DotNet项目

CentOS上部署自己的DotNet项目

作者头像
摘繁华
发布2022-08-31 14:38:15
6560
发布2022-08-31 14:38:15
举报
文章被收录于专栏:摘繁华摘繁华

1. 查看环境

这里我的服务器系统是 Linux【CentOS Stream 9】,具体版本对应的安装包请【查看官网】, 暂以 CentOS Stream 9 为例。

通过以下命令查看系统版本

代码语言:javascript
复制
uname -a 

2. 安装 DotNet

.NET 包含在 CentOS Stream 9 的 AppStream 存储库中。 但是,.NET Core 3.1 和 .NET 5 已从 CentOS Stream 9 中删除,因此应使用 .NET 6。 有关详细信息,请参阅博客文章在 CentOS Stream 9 中将 .NET 与 OpenSSL 结合使用 | Omair Majid。

2.1. 安装 SDK

.NET SDK 使你可以通过 .NET 开发应用。 如果安装 .NET SDK,则无需安装相应的运行时。 若要安装 .NET SDK,请运行以下命令:

代码语言:javascript
复制
sudo dnf install dotnet-sdk-6.0

2.2. 安装运行时

通过 ASP.NET Core 运行时,可以运行使用 .NET 开发且未提供运行时的应用。 以下命令将安装 ASP.NET Core 运行时,这是与 .NET 最兼容的运行时。 在终端中,运行以下命令:

代码语言:javascript
复制
sudo dnf install aspnetcore-runtime-6.0

作为 ASP.NET Core 运行时的一种替代方法,你可以安装不包含 ASP.NET Core 支持的 .NET 运行时:将上一命令中的 aspnetcore-runtime-6.0 替换为 dotnet-runtime-6.0:

代码语言:javascript
复制
sudo dnf install dotnet-runtime-6.0

3. 检查 SDK 版本

可使用终端查看当前安装的 .NET SDK 版本。 打开终端并运行以下命令。

代码语言:javascript
复制
dotnet --list-sdks

4. 检查运行时版本

可使用以下命令查看当前安装的 .NET 运行时版本。

代码语言:javascript
复制
dotnet --list-runtimes

5. 挂载服务

假如你有一个 DotNet 项目叫做【ZhaiFanhuaBlog】,部署上传在服务器的【/home/web/zhaifanhua.com/demo/ZhaiFanhuaBlog/】路径下。

该项目可执行文件名称是【ZhaiFanhuaBlog.WebApi.dll】,你想用 ip【127.0.0.1】,url【http://*:9708】来访问。

把 DotNet 也变成一个像 mysql,nginx 一样的后台服务,用 systemctl 来管理。可以这样配置:

代码语言:javascript
复制
# 编辑配置文件
vim /usr/lib/systemd/system/ZhaiFanhuaImage.service

输入

代码语言:javascript
复制
[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=multi-user.target

5.2. 更新配置

代码语言:javascript
复制
systemctl daemon-reload

进程守护

代码语言:javascript
复制
# 设置开机自启动
systemctl enable ZhaiFanhuaBlog
# 停止开机自启动
systemctl disable ZhaiFanhuaBlog

管理命令

代码语言:javascript
复制
# -----------管理命令-----------------
# 启动服务
systemctl start ZhaiFanhuaImage
# 停止服务
systemctl stop ZhaiFanhuaImage
# 重新服务
systemctl restart ZhaiFanhuaImage
# 查看状态
systemctl status ZhaiFanhuaImage

6. 访问

6.1. 直接用 ip 访问

6.2. 用 Nginx 反代,用域名访问

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-09-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档