为什么当一切正常运行时,apache 重启会写入 error.log?

为什么当一切正常运行时,apache 重启会写入 error.log?

这只是一个小小的问题,但我想知道是否有人可以告诉我原因 - 当我重新启动 apache 时,这些行会写入 /var/log/apache2/error.log

[Thu Mar 24 10:20:56 2011] [warn] mod_wsgi: Compiled for Python/2.6.5.
[Thu Mar 24 10:20:56 2011] [warn] mod_wsgi: Runtime using Python/2.6.6.
[Thu Mar 24 10:20:56 2011] [notice] Apache/2.2.16 (Ubuntu) mod_wsgi/3.2 Python/2.6.6 configured -- resuming normal operations

我该如何解决这个问题?我应该吗?

答案1

mod_wsgi 警告通知您潜在的依赖性问题。虽然这不太可能成为问题(xyz 版本和 xyz+1 之间通常不会存在显著的 API 差异),但它并不确定这一点,因此警告您存在潜在问题。解决此问题的唯一方法是针对较新的版本重新编译模块,如果您使用的是标准软件包,则需要等待软件包维护人员执行此操作。如果您自己编译了 Apache(或只是该模块),那么您可以重新编译(即使您使用的是发行版的标准软件包,您也可以这样做,但我不建议对这么小的问题这样做)。

“apache 已启动”通知已进入错误日志一段时间了(如果我没记错的话)。在许多环境中,重新启动是可能导致停机的问题,因此,如果重新启动发生在计划维护窗口之外,则将其作为“通知”级别的消息,以供自动日志扫描程序拾取并报告,这可能是有效的。

答案2

Apache 中有两种类型的日志:错误日志和访问日志。服务启动不是访问,所以我认为他们将日志放在错误日志中。此外,对于管理员来说,了解服务是否正确启动(或重新启动)也是很有价值的信息。

答案3

官方 mod_wsgi 文档解释了这个确切的问题。请参阅:

http://code.google.com/p/modwsgi/wiki/InstallationIssues#Python_Patch_Level_Mismatch

简而言之,如果您的 Python 安装了一个共享库并且 mod_wsgi 正在使用它,那就没问题,但是如果您的 Python 只安装了静态库并且 mod_wsgi 将其硬链接到自身,则可能会很糟糕。

相关内容