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

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

如何动态检查/列出特定的 Apache 配置指令?我知道这可以从httpd.conf文件中手动检查,但有没有其他方法可以从跑步Apache 服务器进程?

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

答案1

Apache 二进制文件本身似乎不会提供此信息 - 来自Apache 文档

-S

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

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

然而,一切都没有丢失 - 如果你准备启用/安装 apache 模块mod_info,您会发现它回答了这个问题以及更多有关 Apache 配置的问题。

localhost/server-info 位置的“服务器设置”页面的示例输出:

服务器版本: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 信息:最大守护进程数:150 线程:否 分叉:是 服务器架构:32 位 服务器根目录:/etc/apache2 配置文件:/etc/apache2/apache2.conf

注意活着突出显示 - 如果您打算编写检查脚本(尽管这也可以针对配置文件本身完成),我认为调用lynx --dump localhost/server-info可以很好地协助您的努力(快速调用a2enmod info并重新启动 apache 之后)。

HTH,和YMMV。:)

相关内容