前面我們提到過寶塔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
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.接下來,就可以通過你的綁定域名進行訪問了!