宝塔Linux面板+.net 6+自建服务如何部署网站?

第1部分:应用场景

前面我们提到过宝塔linux面板+docker容器部署.net6网站的方式,需要了解的朋友可以参考我的文章《宝塔面板+.net 6(asp.net core 6)+linux+Docker如何部署网站》,但是这种部署方式有如下几个弊端:

1.更新不方便。

2.备份数据不方便。

所以这里我在介绍下直接通过自建服务进行部署。

第2部分:解决方案

1.首先我们需要安装.net 6的运行环境

在终端执行以下命令

先下载预装包:

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

然后安装运行环境,可以是运行时,也可以是SDK

运行时命令:sudo yum install aspnetcore-runtime-6.0

SDK命令:sudo yum install dotnet-sdk-6.0(个人推荐,省的以后麻烦)

2.将.net6发布程序放到自己喜欢的目录下

我这里是放到/www/wwwroot/CSharp_WebAPI目录下

宝塔Linux面板+.net 6+自建服务如何部署网站?

3.建立服务运行文档,通过宝塔面板打开以下路径,并新建service文件,注意,文件后缀必须为service

宝塔Linux面板+.net 6+自建服务如何部署网站?

文件内容如下:

[Unit]
Description=CSharp_WebAPI[这里是描述,替换成你自己的]

[Service]
WorkingDirectory= /www/wwwroot/CSharp_WebAPI[这里是路径,替换成你自己的]
ExecStart=/usr/bin/dotnet /www/wwwroot/CSharp_WebAPI/CSharp_WebAPI.dll[这里是文件路径,替换成你自己的]
Restart=always
RestartSec=10  # Restart service after 10 seconds if dotnet service crashes
SyslogIdentifier=CSharp_WebAPI[这里是名称,替换成你自己的]
User=root
Environment=ASPNETCORE_ENVIRONMENT=Production
Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false

[Install]
WantedBy=multi-user.target

4.运行服务并且检查运行状态

进入Linux终端执行以下命令

执行systemctl enable CSharp_WebAPI.service【使服务可用】

执行systemctl start CSharp_WebAPI.service【启动服务】

执行systemctl status CSharp_WebAPI.service【查看服务状态】若看到绿色的active(running)字样说明服务正常启动了。

如果状态正常,可以按照项目指定的端口访问尝试,如此时,可以通过【http://IP:端口号】访问,如果正常,证明前面的步骤均无问题

5.新建静态网站

宝塔Linux面板+.net 6+自建服务如何部署网站?

6.设置反向代理

宝塔Linux面板+.net 6+自建服务如何部署网站?

注意,目标URL和发送域名必须按照【IP:端口号】的格式书写

例如:目标URL为【http:域名:端口号】 发送域名【域名:端口号】

但是这个写法有个问题,就是如果开启了防盗链,会导致png等文件无法访问

这里改为:目标URL为【http:127.0.0.1:端口号】 发送域名【$host】

同时防盗链中添加:域名及127.0.0.1即可

7.接下来,就可以通过你的绑定域名进行访问了!

© 版权声明
THE END
喜欢就支持一下吧
点赞13 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容