我们尝试这个POC通过AWS代码部署在20台服务器上部署代码,这些服务器都在负载均衡器后面。我们让nginx在Hiphop前面跑。我们尝试了热部署,即在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,这样就不会给运行中的服务器带来太多的负载。
发布于 2017-07-10 20:19:24
实际上,CodeDeploy将在部署期间替换文件。我建议您尝试进行冷部署的方法,在此方法中,在部署之前完全关闭,并在部署完成后再次启动。
https://stackoverflow.com/questions/44452134
复制相似问题