上一篇文章ASP.NET Core和React搭建的数据显示网站——项目搭建(一)介绍了参考Use ASP.NET Core and React with Vite.js搭建的网站,现在把应用程序部署到腾讯云上。云操作系统版本为OpenCloudOS8.6,文件上传使用腾讯云OrcaTerm,步骤如下:

一、发布应用程序

在Visual Studio 2022中,在菜单栏点击:生成->发布MetShow,将应用程序发布到本地文件夹

完成后在项目的bin\Release\net6.0\publish文件夹下生成了程序运行需要的相关文件

二、在腾讯云服务器安装.NET运行时

参考:在 CentOS7上部署.Net6程序

三、在腾讯云服务器安装mysql

参考:OpenCloudOS安装mysql

四、在腾讯云服务器开通访问端口

在云服务器控制台的防火墙模板设置访问规则,开通80、8080、3306等端口

 五、上传本地生成的安装文件

打开腾讯云OreaTearm,将本地文件夹bin\Release\net6.0\publish文件夹上传到服务器/netcore/net6.0目录下

六、在云服务器运行应用程序

 在OreaTearm执行如下指令:

[root@VM-8-11-opencloudos ~]# cd /netcore/net6.0/publish
[root@VM-8-11-opencloudos ~]# dotnet MetShow.dll --urls="http://*:8080" --environment=Production

 顺利的话,应用程序已经在云服务器上运行

七、添加Systemd守护进程,避免关闭shell时ASP.NET Core应用被关闭

目前ASP.NET Core 应用程序运行在shell 之中,如果关闭shell,ASP.NET Core 应用也会被关闭,从而导致网站应用无法访问,需要创建一个后台守护进程去运行应用程序。在服务器上添加文件/usr/lib/systemd/system/metshow.service,内容如下:

[Unit]

Description=metshow service

 

[Service]

WorkingDirectory=/netcore/net6.0/publish

ExecStart=dotnet /netcore/net6.0/publish/MetShow.dll --urls="http://*:8080"

Restart=always

# Restart service after 10 seconds if the dotnet service crashes:

RestartSec=10

KillSignal=SIGINT

SyslogIdentifier=metshow

User=root

# Development 开发环境,Production 生产环境

Environment=ASPNETCORE_ENVIRONMENT=Production

Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false

 

[Install]

WantedBy=multi-user.target

然后在OreaTearm设置metshow.service随开机启动

[root@VM-8-11-opencloudos ~]# systemctl enable metshow.service

现在关闭shell,或者服务器重启,应用程序仍会运行,网站可以正常访问。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐