Apache随机丢失权限查看文件

我有一个服务器(豹服务器,不是我的select)运行Apache和MySQL。 几个月前,服务器开始随机提出“禁止”错误,阻止访问PHP应用程序。 这种行为随机停止。

现在,几天前我安装了Passenger并部署了一个Sintra / Rack应用程序。 应用程序以/Library/WebServer/Documents/presto/current/public的用户acarneg运行(例如), acarneg拥有整个结构。 _www用户可以通过ACL访问目录chmod +a "_www allow read,write,..."

一切都很好! 但是经过12或24小时的随机间隔后,Passenger会抛出一个错误,这也会阻止PHP应用程序运行。 Passenger Error #2. Cannot stat file config.ru. Permission denied.权限并没有改变(确认),所有人必须做的解决错误是sudo apachectl graceful

如果权限没有改变,Apache似乎没有合法的问题,是什么导致这个混乱? 为什么之前停下来,为什么又恢复了!?!?!?

谢谢您的帮助!

您的Apache可能达到了最大打开文件限制。 Apache会导致权限错误,这也解释了为什么需要一段时间,并通过重新加载Apache来解决。

我不是很熟悉Mac,但应该有一个命令来检查一个进程的打开文件。 (例如lsof,pfiles,procfiles)。

可能的决议是:

  • 增加最大打开文件(ulimit)
  • 减less日志文件的数量
  • 检查PHP代码是否closures了所有的文件

另请参阅Apache文档中的文件描述符限制 。

文件系统存储在哪里? 它是否需要Kerberos访问数据,或AFS或其他东西,以便您的问题是一个到期票?