2017-06-09 54 views
0

做熱部署平行(allAtATime)我們嘗試過這種POC通過AWS碼20臺Live服務器,其背後負載平衡器部署部署代碼。我們正在讓nginx運行在Hiphop之前。我們嘗試了熱部署,即在nginx運行時進行部署。嘻哈錯誤日誌被陷在通過AWS Codedeploy

只要部署過程將新文件移動到生產服務器中的指定位置,我們就開始收到以下錯誤,該錯誤在一些服務器上無限期地繼續,並且在輪詢50分鐘後Jenkins作業超時 -

\nFatal error: syntax error, unexpected $end in /path/to/file.php on line 19477 

看起來好像只有文件的一部分被加載和讀取,即使文件的整體沒有語法錯誤。這樣的服務器上

重啓nginx的手動解決了這個問題,但似乎並沒有得到很好的解決。

我們正在試圖找出背後這個問題的原因。

HHVM版本使用 - 街舞VM 3.12.0-dev的(相對)

Nginx的版本 - 1.8.0

替代做法

我們現在正在做冷部署(關閉nginx然後執行部署,然後再次打開nginx),但這也是拋出自己的問題。我不會在這裏公佈這些細節,但這個想法是採取大量我們的服務器的優勢,並且在僅落後LB服務器的一小部分在同一時間都nginx的關閉這樣做冷部署,這樣它就不會在正在運行的服務器上造成太多的負載。

回答

0

CodeDeploy將在部署過程中確實替換文件。我建議你嘗試一下冷部署的方法,在完成部署和重啓之前,完全關閉它。