客服系統釋出以來,一直有朋友詢問如何在寶塔皮膚中安裝部署,開始我一直認為參考 Linux 版的安裝教程就可以了,一直沒有專門寫寶塔環境的教程。這段時間來諮詢的朋友越來越多,經過了解,我才知道寶塔皮膚的普及率有多高,好吧,那我就認真對待一下這個問題,詳細編寫了基於寶塔安裝部署升訊威線上客服系統的教程。
在編寫這個教程之後,我也被寶塔拖入坑了,確實很方便!以前我們部署釋出環境,都是在 Linux 上直接操作,對皮膚類的運維工具不是很感冒。這次詳細的瞭解和操作之後,只能感慨技術發展的太快,皮膚工具已經和早年我們印象中的樣子完全不同了,估計以後我自己再在 Linux 上部署新系統,也會先來一套寶塔再說。
在寶塔皮膚上部署整套客服系統,流程熟悉以後 , 10 分鐘都不要。確實牛批。
開始
本文以 CentOS 7.9 為例進行說明,其它版本的 Linux 安裝配置過程大同小異。
準備伺服器和安裝寶塔的過程本文不再贅述。
客服系統的私有化安裝部署包可以在此下載 ? :https://docs.shengxunwei.com/Post/f7bc8496-14ee-4a53-07b4-08d8e3da6269/553293a8-dfa1-4282-bc3f-96c6c623fc9a
安裝 LNMP 套件
登入寶塔皮膚後,勾選並安裝以下元件:
- Nginx
- MySQL
- PHP
- phpMyAdmin
客服系統對以上元件的版本沒有特殊要求,可自由選擇安裝較新版本。
詳細操作過程本文不再贅述,有需要可參閱:https://docs.shengxunwei.com/Post/f7bc8496-14ee-4a53-07b4-08d8e3da6269/37b59df0-30aa-4609-97b4-374b2bfc564f
安裝 .Net Core
進入寶塔皮膚的“終端”畫面。
安裝 .Net Core
- 安裝
sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm
sudo dnf install dotnet-sdk-3.1
如果提示 command not found,則先執行
yum -y install sudo
yum -y install dnf
安裝依賴庫
進入寶塔皮膚的“終端”畫面。
安裝 libgdiplus
安裝該元件後訪客端頁面才可以輸出圖形驗證碼。
-
安裝依賴
yum install libgdiplus-devel -y
-
建立連結
ln -s /usr/lib64/libgdiplus.so /usr/lib/gdiplus.dll
ln -s /usr/lib64/libgdiplus.so /usr/lib64/gdiplus.dll
注意:如果是先啟動了伺服器主程式(Server),再安裝 libgdiplus。需要重新啟動 Server 主程式以使 libgdiplus 生效。
重新啟動的方法是進入“軟體商店”畫面,進入 “Supervisor 管理器”,在主程式的“程式管理”列點選執行狀態以使之重新啟動。
放行客服程式埠
9527 是客服程式預設使用的 TCP/IP 通訊埠,也可以在配置主程式時修改為其它埠號。
注意:私有化部署免費版固定使用 9527 埠,請勿修改。
進入寶塔皮膚的“安全”畫面,在防火牆標題下的“放行埠”後輸入“9527”,點選“執行”。
放行成功後,該埠顯示在列表中。
建立資料庫
進入寶塔皮膚的“資料庫”畫面後,點選“新增資料庫”。
建立資料庫完成後,點選右側的“管理”。
使用建立資料庫時設定的使用者名稱和密碼登入 phpMyAdmin。
選中左側新建的資料庫“kf”,將右側標籤頁切換到“SQL”,然後將私有化部署安裝包中提供的建表指令碼複製到輸入區,點選右側的“執行”按鈕。
提示成功後,完成資料庫表結構建立。
配置和上傳客服系統服務端程式
修改配置檔案
將服務端程式上傳之前,可先在本地電腦完成對配置檔案的修改。
參閱:使用自動化工具配置伺服器端程式 https://docs.shengxunwei.com/Post/f7bc8496-14ee-4a53-07b4-08d8e3da6269/6bcdb41b-c963-46e9-aa42-e4ef4bf5f5f3
也可以選擇先把服務端程式上傳後,再通過寶塔的“檔案”功能,手工對配置檔案修改。
參閱:配置檔案修改維護說明 https://docs.shengxunwei.com/Post/f7bc8496-14ee-4a53-07b4-08d8e3da6269/ca613726-63f2-4c7d-934f-b8b104281407
上傳伺服器程式
在寶塔皮膚中進入“檔案”功能,進入 /www/wwwroot 目錄,將私有化部署包中的以下目錄上傳到該目錄:
- Management
- Resource
- Server
如果要修改配置檔案,找到要修改的配置檔案,雙擊啟動編輯即可。
配置伺服器主程式
注意:服務端程式使用 5000 埠作為反向代理,請勿佔用此埠。
安裝 Supervisor 管理器並啟動客服主程式
進入寶塔皮膚的“軟體商店”畫面,搜尋“Supervisor”並安裝。
安裝成功後點選“Supervisor”右側的“設定”。
在“Supervisor 管理器”中,新增守護程式:
- 執行目錄選擇
/www/wwwroot/Server
- 啟動命令輸入
dotnet Sheng.Linkup.Server.dll
- 程式數量
1
點選“確定”按鈕新增。
新增成功後,程式管理列顯示“已啟動”,表示主程式啟動成功。
如果啟動失敗,可先切換到寶塔皮膚的“終端”功能,進入
/www/wwwroot/Server
目錄後,執行dotnet Sheng.Linkup.Server.dll
命令,觀察提示的錯誤資訊。
最常見的錯誤原因如資料庫連線串配置錯誤,注意檢查 Server 目錄中的 AppSettings.json 檔案,參閱:主程式配置檔案修改維護說明
更多資訊可參閱:檢查單(部署遇到問題請對照檢查)
新增和配置主程式站點
進入寶塔皮膚的“網站”畫面,點選“新增網站”按鈕,在彈出的新增對話方塊中,輸入:
- 你的主程式域名,如 kf-api.yourname.com
- 根目錄選擇
/www/wwwroot/Server
- PHP 版本選擇
純靜態
然後點選“提交”按鈕。
新增成功後,點選右側的“設定”,開啟設定畫面,然後切換到“配置檔案”後,在開頭部分新增以下內容:
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
upstream dotnet_server_proxy {
server localhost:5000;
keepalive 2000;
}
接著切換到“反向代理”畫面,點選“新增反向代理”按鈕:
- 目標 URL 輸入
http://localhost:5000
然後點選“提交”按鈕。
新增反向代理成功後,點選“配置檔案”。
在反向代理的配置檔案中,將以下內容新增到 location /
節點:
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
完成站點配置後,在站點列表中點選狀態列中的“執行中”,重新啟動站點以使配置全部生效。
初始化主程式
- 訪問域名,進入 Status 檢視狀態
https://kf-api.yourname.com/Status
注意:直接訪問域名顯示 404 是正常的,主程式沒有預設頁面,請留意上面的示例網址,進入
Status
命令
請確認已經完成了對伺服器主程式配置檔案的配置。
參閱:配置和上傳客服系統服務端程式
- 初始化資料
訪問域名,進入Status/Setup
命令
如:https://kf-api.yourname.com/Status/Setup
配置靜態資源站點
進入寶塔皮膚的“網站”畫面,點選“新增網站”按鈕,在彈出的新增對話方塊中,輸入:
- 你的主程式域名,如 kf-resource.yourname.com
- 根目錄選擇
/www/wwwroot/Resource
- PHP 版本選擇
純靜態
然後點選“提交”按鈕。
新增成功後,點選右側的“設定”,開啟設定畫面,然後切換到“預設文件”後,修改為 v.html
,然後點選“新增”按鈕:
訪問靜態資源站點的域名,如 http://kf-resource.yourname.com ,顯示出版本資訊。
配置 Web 管理後臺
請確認已經完成了對伺服器主程式配置檔案的配置。
參閱:配置和上傳客服系統服務端程式
新增和配置配置 Web 管理後臺站點
進入寶塔皮膚的“網站”畫面,點選“新增網站”按鈕,在彈出的新增對話方塊中,輸入:
- 你的主程式域名,如 kf-m.yourname.com
- 根目錄選擇
/www/wwwroot/Management
- PHP 版本選擇
純靜態
然後點選“提交”按鈕。
訪問 Web 管理後臺站點的域名,如 http://kf-m.yourname.com ,顯示登入畫面。
配置釋出客服端程式
請參閱:配置釋出客服端程式https://docs.shengxunwei.com/Post/f7bc8496-14ee-4a53-07b4-08d8e3da6269/5de7cef6-ac56-4916-b2cd-c1760cd9ae48