如何确认是否设置了特定的Apache配置指令?


3

如何动态检查/列出特定的Apache配置指令?我知道这可以从httpd.conf文件中手动检查,但是还有其他方法可以从正在运行的 Apache服务器进程中确认/找到吗?

例如:就我而言,我正在检查KeepAlive配置指令。我什至用命令检查过/usr/local/apache2/bin/apachectl -h,但在这里找不到。

Answers:


4

看起来apache二进制文件本身不会提供此信息-来自apache docs

-S

显示从配置文件解析的设置(当前仅显示虚拟主机设置)。

有一些选项可以显示模块已加载和使用的编译时标志,但是以上是与配置设置有关的唯一选项。似乎甚至CGI环境都可用,以及mod_status返回的信息也不包含您要查找的详细信息类型。

但是,一切并不会丢失-如果您准备启用/安装apache模块mod_info,您会发现它可以回答该问题以及更多有关apache配置的问题。

本地主机/服务器信息位置的“服务器设置”页面上的示例输出:

服务器版本:Apache / 2.2.9(Debian)PHP / 5.2.6-1 + lenny4(具有Suhosin-Patch mod_ssl / 2.2.9 OpenSSL / 0.9.8g mod_wsgi / 2.5 Python / 2.5.2)

服务器内置:2009年11月14日20:23:49模块魔术编号:20051115:15
主机名/端口:本地主机:80
超时:连接:300
保持活动状态:300 MPM名称:Prefork
MPM信息:最大守护程序:150线程化:无分支:是服务器体系结构:32位服务器根目录:/ etc / apache2配置文件:/etc/apache2/apache2.conf

请注意高亮显示的保持活动状态 -如果您打算编写检查脚本(尽管也可以针对配置文件本身进行此操作),我认为调用lynx --dump localhost/server-info可以很好地帮助您(在快速调用a2enmod info并重新启动apache之后)。

HTH和YMMV。:)


感谢您的意见。我尝试mod_info按照httpd.apache.org/docs/2.2/mod/mod_info.html此处提供的说明启用Apache模块,但是当我调用该模块时http://myserver/server-info,它将失败HTTP 404 Not Found。当然,我也重新启动了Apache服务。如何启用/配置此Apache模块?
加纳南

确实取决于您正在运行的发行版以及所使用的软件包管理系统。但是首先要确认mod_info模块实际上是动态还是静态地加载/加载到apache二进制文件中。试用-M-l标志,以Apache二进制文件直接,看看是否mod_info还是info_module显示了...
Zayne小号Halsall
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.