0

我有一个运行 LAMP 的网站。周六,该网站崩溃了。结果我们的专用服务器(4.5 岁)上的硬盘向南移动了。他们更换了驱动器(用更新的操作系统(Cent 5.x,如果有所不同)),我上传了代码(已经完美运行了 4 年多)并恢复了数据库(感谢上帝的备份!)。

突然,该站点周期性地减速停止。支持人员报告说 Apache 内存不足并且性能下降。我可以看到其中一个 apache 线程垄断了内存(有时超过 50%)。

该系统有很多来源(肯定不能在这里粘贴)所以我什至不知道从哪里开始寻找。

我注意到的一件事是我最初在 2009 年 1 月设置了服务器。新硬盘运行的是 PHP 5.3,当时不可用(我假设我们使用的是 5.2,但当然我无法检查任何配置...)。是否有一些我可以检查的资源?

任何帮助表示赞赏。我对运行 4 年以上的应用程序如何通过移动 1 个版本的 PHP 突然发生巨大变化感到困惑。

谢谢。

4

1 回答 1

0

我想我找到了答案……我

经过一番调查,我注意到新上传的文件归 <user>:psacln 所有。原始文件(为提高速度而从已安装的驱动器中复制的)归 root:root (我登录时的身份)所有。

我将其他文件的所有者更改为 <user>,但问题并没有消失。因此,我将整个目录树更改为 <user>:psacln。该站点停止工作(出现未经授权的访问错误)。网站根目录的同级文件夹都归 <user>:psaserv 所有。因此,我将所有者更改为 <user>:psaserv(下面的所有子代仍归 <user>:psacln 所有),此后就没有问题了。已经 2 天了,当我监控进程时,我注意到偶尔其中一个 httpd 进程(大约有 12 个)会达到 1.5% 的内存(当我之前遇到问题时,它们通常会达到 40%)。

我真的很好奇为什么会出现这种情况(所以我知道将来如何避免),但我不愿意花更多时间在它上面,因为它现在只是花花公子。

任何人都对为什么和原因有任何想法,我很想听听。希望这对某人有帮助!

于 2013-09-12T22:09:33.460 回答