pm2啟動程式後,前端頁面沒有更新
阿新 • • 發佈:2021-06-29
1. jenkins構建完成後,前端頁面沒有更新
開發在程式碼裡面刪除了一個電話號碼,通過jenkins發版後,發現前端頁面的號碼依然存在。
去jenkins的工作目錄下對了程式碼,發現是最新的程式碼。
檢視jenkins配置,發現是用pm2啟動的前端程式。
2. 檢視pm2前端配置
[root@hdc-monitor clearway-website-ui]# /mnt/node-v8.9.1-linux-x64/bin/pm2 describe 0 Describing process with id 0 - name clearway-pc ┌───────────────────┬─────────────────────────────────────────────────────┐ │ status │ online │ │ name │ clearway-pc │ │ version │ N/A │ │ restarts │ 240 │ │ uptime │ 27m │ │ script path │ /usr/bin/npm │ │ script args │ start │ │ error log path │ /root/.pm2/logs/clearway-pc-error.log │ │ out log path │ /root/.pm2/logs/clearway-pc-out.log │ │ pid path │ /root/.pm2/pids/clearway-pc-0.pid │ │ interpreter │ node │ │ interpreter args │ N/A │ │ script id │ 0 │ │ exec cwd │ /app/jenkins_home/workspace/柯美利/clearway-website-ui │ # 通過這個發現,現在jenkins前端專案的路徑,跟這個路徑不同,所以瀏覽前端頁面,發現配置沒有生效(因為後面移動過jenkins上前端專案的位置,所以跟這裡對不上)。 │ exec mode │ fork_mode │ │ node.js version │ 8.9.1 │ │ node env │ N/A │ │ watch & reload │ ? │ │ unstable restarts │ 0 │ │ created at │ 2021-06-29T07:23:13.757Z │ └───────────────────┴─────────────────────────────────────────────────────
3. 解決辦法
pm2啟動的前端程式都會生成一個埠,這個埠是前端寫在配置檔案中的。為了不影響現有頁面訪問,讓開發重新配置一個埠,再重新構建。
構建完成後去到對應前端的目錄下(jenkins上),重新建立一個前端程式
pm2 start npm --name "gcw_edi" -- run start # 注意這個run 後面的start,該引數要問前端拿,不一定都是start,也有可能是別的。
重新啟動後,可以通過pm2 logs pid,檢視程式是否正常啟動,然後通過netstat -lntup檢視埠。最後更改nginx代理地址的埠即可。