【问题标题】:Hip hop error log showing syntax errors and deployment process getting stuck on doing hot deployment parallely (allAtATime) via AWS Codedeploy嘻哈错误日志显示语法错误和部署过程卡在通过 AWS Codedeploy 并行进行热部署 (allAtATime)
【发布时间】:2017-07-11 04:19:24
【问题描述】:

我们尝试使用此 POC 通过 AWS Code deploy 在负载均衡器后面的 20 台实时服务器上部署代码。我们在 Hiphop 前面运行 nginx。我们尝试了热部署,即在 nginx 运行时进行部署。

一旦部署过程将新文件移动到生产服务器中的指定位置,我们开始收到以下错误,在某些服务器上无限期持续,并且 Jenkins 作业在轮询 50 分钟后超时 -

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

看起来只有文件的一部分被加载和读取,即使整个文件没有语法错误。

在此类服务器上手动重启 nginx 可以解决问题,但这似乎不是一个好的解决方案。

我们正试图找出这个问题背后的原因。

正在使用的 HHVM 版本 - HipHop VM 3.12.0-dev (rel)

Nginx 版本 - 1.8.0

替代方法

我们现在正在尝试进行冷部署(关闭 nginx,然后进行部署,然后再次打开 nginx),但这也引发了自己的问题。我不会在这里发布这些细节,但我们的想法是利用我们拥有的大量服务器,并以这样的方式进行冷部署,即一次只有一小部分 LB 后面的服务器关闭 nginx,以免对正在运行的服务器造成过多的负载。

【问题讨论】:

    标签: nginx deployment aws-code-deploy hiphop


    【解决方案1】:

    CodeDeploy 确实会在部署期间替换文件。我建议您尝试进行冷部署的方法,在这种方法中,您在部署之前完全关闭并在完成后再次启动。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-03-31
      • 2020-07-01
      • 2018-12-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-02
      相关资源
      最近更新 更多