间歇AWS Linux AMI服务器错误“文件不存在:/ var / www / html / var”

在Zend MVC应用程序的所有区域发生断断续续的错误“文件不存在:/ var / www / html / var”,导致页面偶尔无法加载 – 通常情况下,加载完美。

我们的设置
AWS上的LAMP堆栈上的MVC应用程序:

  • Zend 1前端应用程序在一个中等c1 AWS Linux AMI 64位实例
  • MySQL数据库上的中型m1 AWS Linux AMI 64位实例
  • 在应用服务器上与MVC应用并行运行phpbb3论坛,在数据库服务器上有2个数据库(一个用于应用,一个用于phpbb)
  • PHP的5.4.22
  • MySQL 5.1.72 + mysqli
  • 与应用和数据库服务器相关联的弹性IP地址
  • 应用程序和数据库服务器使用私有IP连接(即应用程序服务器连接到数据库服务器私人IP,数据库服务器安全组接受应用程序服务器私人iP端口3306)
  • 目前正在将该站点作为开发站点运行,使用主站点的开发目录,例如:

    www.mysite.com/dev/

  • 在/dev/configs/application.ini中我们定义如下:

    setting.basedir = dev setting.baseurl = http://www.mysite.com/dev setting.securebaseurl = http://www.mysite.com/dev 
  • 有我们的DNS与godaddy,并使用A主机= IP地址(即IP.IP.IP.IP)而不是CNAME

  • 没有使用虚拟主机(因为我们每个“服务器”只有一个站点)
  • 我们有htaccess文件和各种redirect – 但在我们的本地LAMP服务器没有错误
  • 我们正在使用minify并将RewriteBase注释掉(默认情况下)
  • httpd.conf的设置大多是默认的(让我知道是否有重要的,这里没有列出)

     ServerName www.mysite.com UseCanonicalName Off DocumentRoot "/var/www/html" <Directory /> Options FollowSymLinks AllowOverride ALL </Directory> <Directory "/var/www/html"> Options Indexes FollowSymLinks AllowOverride All Order allow,deny Allow from all </Directory> 

问题
我们在/ etc / httpd / logs / error_log中收到以下间歇性错误:

文件不存在:/ var / www / html / var,引用者: http ://www.mysite.com/dev/various

发生此错误时,我们尝试访问的网站的任意部分的一半完整页面将显示消息:

“将元数据保存到metadataCache失败”

错误是间歇性的,因为我们无法用任何动作或时间顺序重复它:

  • 重复页面刷新似乎摆脱了这个问题,页面将最终正确显示,并且网站的其余部分可以正常访问长期
  • 它独立于浏览器或IP地址(用于访问站点)
  • 它似乎独立于我们尝试访问的页面(即我们从所有网站页面都有错误)
  • 错误似乎在离开网站闲置一段时间后重新出现,然后访问网站的新部分 – 虽然这是不一致的(有时错误再次出现在积极使用网站的一半)。

我们在本地机器上没有这个问题 – 我们的开发人员在mac lamp stacks和windows机器上有大约3个不同的本地机器。

我们没有在原始的AWSconfiguration上的应用程序+数据库上的单个Linux AMI微型实例的问题 – 通过ec2地址访问configuration/ application.ini baseurl设置为EC2地址(即我们没有使用DNS A主机设置那个阶段)

我们尝试过的理论和事物:

  1. 当我们更新application.ini设置来使用IP而不是DN时,我们似乎没有得到错误(这将表明某种服务器根/ dns循环)

     setting.basedir = dev setting.baseurl = http://www.IP.IP.IP.IP.com/dev setting.securebaseurl = http://www.IP.IP.IP.IP.com/dev 
  2. 最初我们认为可能是httpd.conf中的ServerName被注释掉了,但是当我们把它设置为www.mysite.com,mysite.com或“www.mysite.com”时,它没有任何区别

  3. 我们已经完成了通常的步骤,删除所有的Zend +论坛+浏览器caching,重新启动Apache,重新启动MySQL等

我们没有做什么似乎表明错误的来源在哪里。