Apache-2.2

如何確認是否設置了特定的 Apache 配置指令?

  • November 17, 2010

如何動態檢查/列出特定的 Apache 配置指令?我知道這可以從httpd.conf文件中手動檢查,但是有沒有其他方法可以從正在執行的Apache 伺服器程序中確認/找到?

例如:就我而言,我正在檢查KeepAlive配置指令。我什至檢查了 command /usr/local/apache2/bin/apachectl -h,但在這裡找不到。

看起來 apache 二進製文件本身不會提供此資訊 - 來自apache docs

-S

顯示從配置文件解析的設置(目前僅顯示虛擬主機設置)。

存在顯示載入的模組和使用的編譯時標誌的選項,但以上是與配置設置相關的唯一選項。似乎甚至可用的 CGI 環境以及mod_status返回的資訊都不包含您正在尋找的詳細資訊類型。

但是,一切都不會失去 - 如果您準備啟用/安裝 apache 模組mod_info,您會發現它回答了這個問題以及有關 apache 配置的更多問題。

來自 localhost/server-info 位置的“伺服器設置”頁面的範例輸出:

伺服器版本:Apache/2.2.9 (Debian) PHP/5.2.6-1+lenny4 with 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。:)

引用自:https://serverfault.com/questions/201442