智慧製造之路—從0開始打造一套輕量級MOM平臺之基礎平臺搭建(Linux部署)

2023-07-27 12:14:29

一、前言

前面我們選定了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)