Apache的httpd命令詳解

Web開發者發表於2012-01-03

httpd.exe為Apache HTTP伺服器程式。直接執行程式可啟動伺服器的服務。本文以Apache2.2.21版本為例詳細介紹該指令的各個引數及用法。

語法格式:

httpd [-D name] [-d directory] [-f file]
         [-C "directive"] [-c "directive"]
         [-w] [-k start|restart|stop|shutdown]
         [-k install|config|uninstall] [-n service_name]
         [-v] [-V] [-h] [-l] [-L] [-t] [-T] [-S]

引數選項:

-d serverroot
將ServerRoot指令設定初始值為serverroot。它可以被配置檔案中的ServerRoot指令所覆蓋。其預設值是/usr/local/apache2 。
-f config
在啟動中使用config作為配置檔案。如果config不以"/"開頭,則它是相對於ServerRoot的路徑。其預設值是conf/httpd.conf 。
-k start|restart|graceful|stop|graceful-stop
傳送訊號使httpd啟動、重新啟動或停止 。
-C directive
在讀取配置檔案之前,先處理directive的配置指令。
-c directive
在讀取配置檔案之後,再處理directive的配置指令。
-D parameter
設定引數parameter ,它配合配置檔案中的<IfDefine>段,用於在伺服器啟動和重新啟動時,有條件地跳過或處理某些命令。
-e level
在伺服器啟動時,設定LogLevel為level 。它用於在啟動時,臨時增加出錯資訊的詳細程度,以幫助排錯。
-E file
將伺服器啟動過程中的出錯資訊傳送到檔案file 。
-R directory
當在伺服器編譯中使用了SHARED_CORE規則時,它指定共享目標檔案的目錄為directory 。
-h
輸出一個可用的命令列選項的簡要說明。
-l
輸出一個靜態編譯在伺服器中的模組的列表。它不會列出使用LoadModule指令動態載入的模組。
-L
輸出一個指令的列表,幷包含了各指令的有效引數和使用區域。
-M
輸出一個已經啟用的模組列表,包括靜態編譯在伺服器中的模組和作為DSO動態載入的模組。
-S
顯示從配置檔案中讀取並解析的設定結果(目前僅顯示虛擬主機的設定)
-T
在啟動/重啟的時候跳過根檔案檢查 (該引數在Apache 2.2.17及其以後版本有效)
-t
僅對配置檔案執行語法檢查。程式在語法解析檢查結束後立即退出,或者返回"0"(OK),或者返回非0的值(Error)。如果還指定了"-D DUMP_VHOSTS",則會顯示虛擬主機配置的詳細資訊。
-v
顯示httpd的版本,然後退出。
-V
顯示httpd和APR/APR-Util的版本和編譯引數,然後退出。
-X
以除錯模式執行httpd 。僅啟動一個工作程式,並且伺服器不與控制檯脫離。

下列引數僅用於Windows平臺:
-k install|config|uninstall
安裝Apache為一個Windows NT的服務;改變Apache服務的啟動方式;刪除Apache服務。
-n name
指定Apache服務的名稱為name
-w
保持開啟控制檯視窗,使得可以閱讀出錯資訊。

在windows下使用http.exe命令的例子:

平時我們使用最多的可能就是用http.exe命令安裝、開啟、停止,刪除apache服務這些操作。
httpd -k install 
將Apache註冊為windows服務,因為我們使用的是apache2.2版本,所以預設的服務名為"Apache2.2"。
httpd -k install -n "服務名" 
將Apache註冊為windows服務,自己指定一個服務名字。
httpd -k install -n "服務名" -f "conf\my.conf"
將Apache註冊為windows服務,自己指定一個服務名字,並且使用特定配置檔案。
httpd -k uninstall
移除Apache服務,預設地,將使用"Apache2.2"
httpd -k uninstall -n "服務名"
移除Apache服務,自己制定一個服務名字。
httpd -k start
啟動Apache服務。
httpd -k stop
停止Apache服務。
httpd -k restart
重啟Apache服務。

相關文章