如何动态检查/列出特定的 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。:)