xxxxx子系統部署手冊


1.運行環境和規格

系統環境如下:

Linux版本

CentOS 7

JDK版本

jdk-8u141以上

PostgreSQL版本

10.x

 

應用構建部署環境如下:

git

1.8.3.1

node

node-v8.11.4-linux-x64

nginx

1.6.2

2.基礎環境安裝與配置

基礎環境的安裝與配置請請參考運維編寫基礎環境部署文檔

2.1.安裝 JDK

2.2.安裝 PostgreSQL

2.3.安裝 git

2.4.安裝 node

2.5.安裝 nginx

3.數據庫部署配置

3.1.主機信息

部署數據庫服務器的主機信息如下:

  • 服務器IP:59.214.215.xx
  • 主機賬號1:root 密碼:xxxxx
  • 主機賬號2:root 密碼:Hlw..xxx

3.2.pg數據庫安裝

這部分內容參考上面的基礎環境部署章節

3.3.數據庫配置

這部分內容主要有創建數據庫、執行相應的數據庫腳本、或者遷移數據庫的一些操作步驟,具體可根據項目情況來進行數據庫配置,就目前的狀態,我們的目標就是將正式環境10.10.1.xxx上的pg數據庫遷移到測試環境59.214.215.xxx上來。下面即具體的操作步驟:

  1. 進入正式環境10.10.1.xxxx服務器
  2. 使用ps命令查找pg數據庫安裝目錄
  3. 通過查看,安裝目錄為/opt/haishu/local/postgresql/bin 進入安裝目錄
  4. 使用pg數據庫的導出命令
ps -ef | grep pg cd /opt/haishu/local/postgresql/bin ./pg_dump -h 10.10.1.xx -U postgres msgmanage >/opt/haishu/backup/msgmanage.sql

其中:

  • -h表示的是我們要導出的數據庫所在的服務器地址,也就是10.10.1.1xx
  • -U表示的是正式環境數據庫使用的用戶名
  • ig_file_xycq表示該使用的數據庫的名稱
  • /opt/haishu/backup/ig_file_xycq.sql 表示我們將導出的數據存放的路徑
在使用這個命令時會遇到了一個問題,顯示的是:

error while loading shared libraries: libpq.so.5: cannot open shared object file: No such file or directory
從網上找到了解決方案

#使用find命令找到libpq.so.5所在的目錄
find / -name libpq.so.5
#創建/usr/lib/libpq.so.5的軟連接
ln -s /opt/haishu/local/postgresql/lib/libpq.so.5 /usr/lib/libpq.so.5
#創建/usr/lib64/libpq.so.5的軟連接
ln -s /opt/haishu/local/postgresql/lib/libpq.so.5 /usr/lib64/libpq.so.5
然后再用次命令即可

cd  /opt/haishu/local/postgresql/bin
./pg_dump -h 10.10.1.xxx -U postgres msgmanage >/opt/haishu/backup/
進入我們導出數據存放的目錄
使用scp命令將導出的sql文件傳送到59.214.215.xx中,具體放在/opt/haishu/backup/msgmanage/下
cd /opt/haishu/backup/
ll
scp -r ./msgmanage.sql ztyw@59.214.215.xxx:/opt/haishu/backup/msgmanage/
 

進入59.214.215.xx服務器,並使用ps命令來查找pg安裝的目錄
進入pg安裝的目錄
ps -ef | grep pg
cd /opt/haishu/local/pgsql/10.1/bin
ll
##使用pg數據庫導入命令 
./psql -U postgres msgmanage_new < /opt/haishu/backup/msgmanage.sql
其中:

-U表示的是測試環境數據庫使用的用戶名
msgmanage_new表示該使我們在測試環境創建的數據庫的名稱,導入之前先創建此數據庫
/opt/haishu/backup/msgmanage.sql 表示我們將使用哪個文件的數據進行導入操作

4.  應用構建部署

git拉取代碼並進行代碼的編譯打包操作步驟用jenkins實現。

4.1. 主機信息

部署應用服務器的主機信息如下:

  • 服務器IP:59.214.215.xxxxx
  • 主機賬號1:root 密碼:xxx
  • 主機賬號2:ztyw 密碼:Hlw..2018

4.2. 部署操作約定

  1. 部署的主目錄在:/opt/haishu/app
  2. xxx的后端在:/opt/haishu/app/backend-v2
  3. xxx的前端在:/opt/haishu/app/frontend-v2
  4. 各個不同的子系統以子系統的名稱在前端和后端下命名
  5. 如果是前后端一起的,則直接在/opt/haishu/app下建子系統目錄

4.3.部署操作步驟

4.3.1.前端操作步驟

4.3.1.1.獲取前端dist文件

首先從開發處獲取前端的dist文件

4.3.1.2.創建目錄

首先在/opt/haishu/app/frontend-v2目錄建子系統的前端文件目錄:message-management

cd /opt/haishu/app/frontend-v2 mkdir message-management ll 
4.3.1.3.解壓文件

獲取到了前端的壓縮包,則使用如下命令解壓

解壓完文件后,將解壓后的dist文件放入到message-management目錄下即可。

tar -zxvf xxx.tar.gz cd message-management ll 
4.3.1.4.nginx配置

進入nginx目錄(我們可以使用如下方式查找進程目錄:ps -ef | grep nginx並找到nginx的進程pid,然后使用ls -l /proc/pid 來找相應進程所在的目錄)

ps -ef | grep nginx ls -l /proc/PID cd /opt/app/local/tengine/conf/ ll

而nginx一般的配置是放在nginx.conf配置文件下的,進入nginx.conf文件,主要配置后端服務名、后端server地址,配置內容參考如下(注意最下面的include conf.d/*.conf表示的是這個nginx.conf的配置內容包含了conf.d目錄下的所有以.conf結尾的配置文件)。我們進入conf.d目下,查看到對應的配置文件如下:

vim nginx.conf cd conf.d/ ll

我們xx系統二期的配置文件統一放在credit-system-v2.conf文件中,進入credit-system-v2.conf文件進行配置,如下所示:

vim credit_system-v2.conf
  • 當然我們也可以直接在這個配置文件下配置第4個操作步驟中的服務名、后端地址;

upstream message-backend-v2{

server 59.214.215.xxx:18082;

}

  • listen為我們設置前端需要訪問的端口號,需要確保我們的端口號沒有被使用,可使用命令:lsof -i:port 查看port端口號占用情況;
  • root后面配置我們前端的dist文件所在目錄;
  • 后面的location相關的內容中涉及的服務名,均要改為我們上面設置的upstream,即message-management-v2
4.3.1.5.啟動nginx

進入/opt/app/loacl/tengine/sbin中運行。

cd /opt/app/local/tengine/sbin/ ./nginx -c /opt/app/local/tengine/conf/nginx.cong -p /opt/app/localtengine 

4.3.2. 后端操作步驟

4.3.2.1.獲取后端部署程序包

首先從開發處或者jenkins獲取到xxx系統相關的部署程序包,里面主要包含啟動腳本:start.sh、停止腳本:stop.sh、版本說明配置文件:version.properties、應用配置文件:application.properties以及Java程序包:xxx.jar等。

4.3.2.2.創建目錄

進入/opt/haishu/app/backend-v2目錄,並在該目錄下建一個xxxx系統的后端文件目錄message-management。

cd /opt/haishu/app/backend-v2 mkdir message-management
4.3.2.3.獲取文件

將獲取到的應用相關的部署包及相關配置文件都放進message-management文件夾中,包含的內容如下圖所示:

cd message-management ll 
4.3.2.4.查看並修改版本配置文件

查看version.properties中對應的版本與java包的版本是否一致,如果不一致,則將文中的VERSION更改與java包的版本一致,如下圖所示,文件中的VERSION與包的版本一致,這里不做修改。

vim version.properties 
4.3.2.5.查看並修改應用配置文件

查看並修改application.properties文件,主要是修改相應的數據庫配置的url,classname,username,password幾個部分,具體如下:

vim application.properties 
4.3.2.6.啟動后端

然后運行start.sh腳本啟動后端

./start.sh 
4.3.2.7.查看進程啟動情況

使用ps命令查看進程啟動情況,如果啟動正常,那么實際操作到此就結束了,但如下我們可以看出實際上我們的郵件系統並未啟動起來,所以我們需要查看日志並處理啟動報錯的問題。

ps -ef | grep message 
4.3.2.8.查看日志

查看日志文件,報錯信息為:/tmp/spring.log文件權限不夠,則可能需要使用root賬號執行,或者更改該文件的用戶權限。

cd log  #進入日志目錄
ll      #查看目錄有哪些日志文件
tailf mm-web-metric.2019-06-04.0.log  #查看最新的日志文件 
4.3.2.9.處理日志報錯

從上圖的日志文件報錯信息我們可以看出,報錯原因是因為/tmp/spring.log權限不夠,所以我們需要修改/tmp/spring.log文件的權限。

cd /tmp ll 

從上圖我們確實可以看出,spring.log文件所屬用戶為root的,而我們正使用的是ztyw用戶,所以這里我們可以將spring.log文件的權限更改為ztyw,更改如下所示:

sudo chown ztyw ./spring.log chgrp ztyw ./spring.log ll 
4.3.2.10.重新啟動后端

修改好后,再進入后端目錄,重新運行./start.sh文件啟動,並查看進程

cd /opt/haishu/app/backend-v2/message-management ./start.sh ps -ef | grep message 

4.3.2.11.      訪問地址

瀏覽器中輸入59.214.215.xx:8012即可訪問xx系統


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM