宝塔Linux面板+.net 6+自建服务如何部署网站?
前面我们提到过宝塔linux面板+docker容器部署.net6网站的方式,需要了解的朋友可以参考我的文章《宝塔面板+.net 6(asp.net core 6)+linux+Docker如何部署网站》,但是这种部署方式有如下几个弊端:
1.更新不方便。
2.备份数据不方便。
所以这里我在介绍下直接通过自建服务进行部署。
宝塔Linux面板+.net 6+自建服务部署网站的解决方案
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目录下
3.建立服务运行文档,通过宝塔面板打开以下路径,并新建service文件,注意,文件后缀必须为service
文件内容如下:
[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
如果执行不了,
.在/etc/systemd/system/路径下添加 ServiceName.service文件并写入一下内容()
4.运行服务并且检查运行状态
进入Linux终端执行以下命令
执行systemctl enable CSharp_WebAPI.service【使服务可用】
执行systemctl start CSharp_WebAPI.service【启动服务】
执行systemctl status CSharp_WebAPI.service【查看服务状态】若看到绿色的active(running)字样说明服务正常启动了。
如果状态正常,可以按照项目指定的端口访问尝试,如此时,可以通过【http://IP:端口号】访问,如果正常,证明前面的步骤均无问题
5.新建静态网站
6.设置反向代理
注意,目标URL和发送域名必须按照【IP:端口号】的格式书写
7.接下来,就可以通过你的绑定域名进行访问了!