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

我如何dynamic检查/列出一个特定的Apacheconfiguration指令? 我知道这可以从httpd.conf文件手动检查,但是有没有其他方式可以从运行的 Apache服务器进程中确认/find?

例如:在我的情况下,我正在检查KeepAliveconfiguration指令。 我甚至用命令/usr/local/apache2/bin/apachectl -h ,但是在这里找不到它。

它看起来不像apache二进制文件本身会提供这个信息 – 从apache文档 :

-S

显示设置为从configuration文件parsing(目前只显示虚拟主机设置)。

有一些选项可以显示加载的模块和编译时使用的标志,但以上是与configuration设置相关的唯一选项。 看来即使是可用的CGI环境,以及由mod_status返回的信息也不包含您正在寻找的细节types。

然而 ,所有的东西都不会丢失 – 如果你准备启用/安装Apache模块mod_info ,你会发现它回答了这个问题,还有更多关于Apacheconfiguration的问题。

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

服务器版本: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
主机名/端口:localhost:80
超时:连接:300
保持活力:300 MPM名称:Prefork
MPM信息:Max Daemons:150 Threaded:no Forked:yes服务器体系结构:32位服务器根目录:/ etc / apache2configuration文件:/etc/apache2/apache2.conf

注意保持活着突出显示 – 如果你的意图是脚本检查(虽然这也可以对configuration文件本身),我认为调用lynx --dump localhost/server-info可以很好地协助你的努力(之后快速调用a2enmod info和apache重新启动)。

HTH和YMMV。 🙂