在nginx集羣上升級vue項目,踩坑過程

目的:部署項目到nginx集羣的三個節點上。升級代碼

過程很簡單,rpm run build 後的 dist目錄打包後,分別上傳到三個節點下的。

1、初步我是先替換了node1節點的代碼(node1、node3還是舊代碼),想着刷新頁面,如果負載均衡到node1上就能看出的我的代碼是否修改成功了。問題出現了,只要負載到node1,就報js語法錯誤(<token......,首先項目在本地跑是正常的。但是着這個錯誤浪費了我很多時間,以爲是代碼的問題,網上查了很多資料。都是無功而返)。公司的前輩也很納悶。此時代碼不敢升級了,世界盃期間訪問量很大。

2、爲了先排出代碼問題:將node1從pool種剔除,然後直接訪問node1,一切正常。

3、難道是pool出問題了。然後自己搭建了測試環境。部署了兩臺nginx,部署我的代碼,訪問一切正常。我靠,沒法復現線上問題,焦慮。。。。。

4、針對上一步,琢磨,要復現必須要保持和線上操作一摸一樣。哪兒不一樣呢?--第三步我是第一次部署。而第一步我是升級代碼。我應該模擬升級代碼。

5、此時測試環境跑的是我的最新的代碼,訪問正常。然後像第一步那樣升級其中一個節點。哇,bug復現。到底是什麼原因呢?我們的pool的策略不對?看了看也沒問題啊,最重要的是用了那麼久了,不可能策略有問題。

6、關鍵的嘗試:我剛纔升級了其中一個節點的代碼,然後升級了另一個節點的代碼,額,訪問正常了。也就是說node的代碼不一致就會出現這種問題的。--按常理不應該的。。。什麼事都會發生哎。

7、這才寫了一個批量升級腳本,和批量回滾腳本。升級線上代碼,成功!!(順便又測試了我的回滾腳本,回滾-升級-回滾。。。。。能一直玩下去)

注:線上項目升級,腳本非常重要性。方便你我他。。。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章