我从事 Web 开发已经有一段时间了,但服务器管理员从来都不是我工作的一部分。我发现我越来越需要了解幕后发生的事情。查看服务器日志之类的东西,我看到了一些有趣的东西并学到了很多东西,但是我只是不知道“正常”的服务器是什么样的,所以我很难通过比较来判断我们的机器在做什么。
我们正在使用 JRun (4.0) 在 Red Hat 上运行 Apache (2.0.54)。我们的大部分内容都是 ColdFusion,还加入了一点 PHP。Google 分析表明,我们每个月的页面浏览量约为 1,500,000 次,而 Apache 通常每秒报告 5-7 个请求。
如果我top
在服务器上这样做,它会说它已经运行了 700 多天。但是我们的 Apache 实例经常崩溃。对于我们的服务器来说,3 天的正常运行时间将是很长的时间。我会说 Apache 需要重新启动之前的 48 小时是正常的。
我很想听听其他人从他们的经验中说这是好是坏。我怀疑不好,但我没有任何东西可以与之相比。
如果这很糟糕,谁能指出我可以开始学习如何解决这个问题的一些在线资源的方向?
在大多数情况下,Apache 通常不会崩溃或需要重新启动。定期死亡表明模块存在问题、配置问题或资源问题。一个好的开始是 apache 的(错误)日志,它们通常驻留在 /var/log/apache 或类似文件中(参见服务器配置)。
另外,Apache 2.0.54 已经过时了,你应该尽快更新它。如果其中一项修复可能适用于您的环境,请尝试检查更改日志。
如果您的服务器正常运行时间为 700 天,那么您可能已经有一段时间没有更新内核了。服务器管理员工作的一部分(不确定是您还是其他人)应该安装必要的更新,因此您可能也想研究一下。
正如 Jan 所说,Apache 不应该经常崩溃。5-7 个请求/秒并不是什么大负载。除了错误日志之外,您可能还想在崩溃时查看 /var/log/messages - 有时我看到那里出现了段错误。
700 天的正常运行时间很多,正如 Jan 所说,apache 2.0.54 并不是最新的。在跟踪任何 apache 问题之前,我会将系统升级到您的 rhel 版本的当前软件包,然后重新启动。导致此问题的错误很可能已被修复。