一、前言
前面我們選定了Admin.net來搭建我們的MOM快速開發平臺,本章主要描述.NET6平臺的Linux部署,以及記錄搭建過程中坑。
本次搭建我們選擇某雲的輕量應用伺服器,系統選擇CentOS 7.6,資料庫使用Mysql。參考設定如下:
二、搭建Linux管理工具
系統搭建完畢,我們使用寶塔來管理linux伺服器。直接通過遠端安裝,快捷,簡單,非常不錯的工具。
輸入遠端IP,密碼,點選安裝,5~10分鐘左右即可安裝完畢。注意:必須選擇LNMP環境。
三、.NET6安裝
管理工具安裝完成後,進入寶塔系統,開啟終端。
1、檢測centos是否安裝過.net 執行時或者sdk:
dotnet --list-sdks
檢視執行時版本:
dotnet --list-runtimes
2、將Microsoft 包簽名金鑰新增到受信任金鑰列表,並新增 Microsoft 包儲存庫:
sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm
3、一定要安裝包含支援的 .NET 執行時的版本
sudo yum install aspnetcore-runtime-6.0
4、安裝完成輸入dotnet --info 命令檢視是否安裝成功,注意dotnet --version 是安裝sdk後的驗證命令
dotnet --info
5、安裝成功後,顯示的資訊如下:
四、PM2安裝
PM2是一個守護行程管理器,幫助您管理和守護您的應用程式,可以保證NET6程式像windows 服務一樣一直執行。
1、安裝Node.js
yum install nodejs
#若遇到No package alien available.Error: Nothing to do,可先執行以下命令再安裝nodejs [ yum install epel-release ]
2、安裝npm
yum install npm
3、安裝pm2(npm版本太低可能會導致安裝失敗)
npm install -g pm2
4、安裝完成輸入命令檢視版本,返回如下資訊,說明安裝成功。
pm2 -v
五、後臺部署
1、進入寶塔系統,選擇網站,建立站點,如下圖:
2、下載admin.net原始碼,VS開啟專案,右鍵Admin.NET.Web.Entry選擇釋出:部署模式選擇「框架依賴」,執行時選擇「可移植」
3、釋出完成後,進入寶塔的檔案管理功能,在/www/目錄建立adminnet資料夾
將publish目錄檔案上傳到伺服器/www/adminnet目錄,如下圖:
進入目錄/www/adminnet/publish/Configuration,修改資料庫組態檔:Database.json。
4、開啟終端,輸入命令,進入publish目錄
cd /www/adminnet/publish
5、使用pm2啟動admin.net服務,輸入命令
pm2 start "dotnet Admin.NET.Web.Entry.dll"
注意:關閉centos防火牆,雲伺服器放行埠,否則無法通過伺服器IP存取
#關閉 systemctl stop firewalld.service #開機禁用 systemctl disable firewalld.service
6、瀏覽器輸入伺服器IP地址,顯示swagger,表明後端服務已經部署OK。
六、前端部署
1、使用vscode開啟前端程式碼,修改組態檔,介面地址改為前面部署的後臺地址
2、在終端輸入命令對前端進行重新編譯
npm run build
3、編譯完成,進入寶塔系統,選擇檔案,將編譯完成的dist目錄檔案全部上傳到我們前面建立的網站目錄:/www/wwwroot/mom
4、瀏覽器輸入伺服器地址,進入後臺管理系統。
至此,快速開發平臺部署完成,正式進入基礎資料搭建。
七、總結
經過幾天的反覆實驗查詢資料,再驗證,終於完成了平臺的部署工作。過程中踩了無數的坑,滿臉都是淚,最終皇天不負有心人!
記錄下踩過的坑
OS系統 | 用7.6版本,8.0版本aspnetcore-runtime-6.0不相容,提示找不到.NET.APP。 |
防火牆 | 禁用掉 |
PM2 | pm2 start 後面接的是完整命令 pm2 start "dotnet Admin.NET.Web.Entry.dll" |
盡請期待下一章:智慧製造之路—從0開始打造一套輕量級MOM平臺之ASN管理(WMS)