Apache 2 : starting apache

Apache HTTP server 如何啓動?

如果Listen directive 在conf文件中指定爲默認的80端口(或者小於1024的其他端口),則需要root權限來啓動HTTPD進程。當HTTP Server啓動之後,並且完成了一些初始化的動作,如打開Apache的日誌文件, Apache HTTPD進程會啓動一定數量的child processes, 這些child process用來監聽端口,或者響應請求。但是這些child process會以稍低的優先級來啓動(非root用戶權限)。而這些行爲是由Multi-Processing Module來配置的。

運行httpd可執行程序的推薦使用apachectl(apache2ctl)控制腳本。這個腳本會設置httpd啓動時在不同的OS下正常運行所需要的環境變量。你也可以編輯apachectl腳本,通過修改HTTPD變量來指定httpd可執行程序正確的位置,並且指定httpd啓動時你希望指定的命令行參數。

httpd可執行程序運行時的第一件事是定位其配置文件httpd.conf。配置文件也可以在compile階段指定,查看編譯階段所使用的參數可以通過:

bl25p-6:/etc/apache2# apache2ctl -V
Server version: Apache/2.2.9 (Debian)
Server built:   Apr 20 2010 15:42:00
Server's Module Magic Number: 20051115:15
Server loaded:  APR 1.2.12, APR-Util 1.2.12
Compiled using: APR 1.2.12, APR-Util 1.2.12
Architecture:   64-bit
Server MPM:     Worker
  threaded:     yes (fixed thread count)
    forked:     yes (variable process count)
Server compiled with....
-D APACHE_MPM_DIR="server/mpm/worker"
-D APR_HAS_SENDFILE
-D APR_HAS_MMAP
-D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
-D APR_USE_SYSVSEM_SERIALIZE
-D APR_USE_PTHREAD_SERIALIZE
-D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
-D APR_HAS_OTHER_CHILD
-D AP_HAVE_RELIABLE_PIPED_LOGS
-D DYNAMIC_MODULE_LIMIT=128
-D HTTPD_ROOT=""
-D SUEXEC_BIN="/usr/lib/apache2/suexec"
-D DEFAULT_PIDLOG="/var/run/apache2.pid"
-D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
-D DEFAULT_ERRORLOG="logs/error_log"
-D AP_TYPES_CONFIG_FILE="/etc/apache2/mime.types"
 -D SERVER_CONFIG_FILE="/etc/apache2/apache2.conf"

或者在運行apache2ctl的時候指定, apache2ctl –f /usr/local/apache2/conf/httpd.conf。

如果啓動階段一切正常, server進程會從terminal分離, 命令行會提示你輸入其它的命令。這時候,就意味着apache httpd server已經正常啓動了。然後就可以使用你最常用的瀏覽器,來訪問apache server的測試頁面,其位置默認由DocumentRoot指定。

 

在OS啓動階段啓動Apache Http Server

如果你希望在啓動操作系統的時候自動啓動Apache Http Server, 你需要在系統的startup 文件當中增加對apache2ctl的調用(通常情況下系統的startup文件爲rc.local或者在rc.N下的某個文件)。但是之前請確保你的Apache HTTP server 已經被正確配置了。

此爲,apache2ctl按照System V init的腳本接口規範設計,所以它可以接受start,stop,restart等參數,並且將他們轉化成適當的信號發送給httpd deamon process。所以,通常你也可以簡單的在系統的init.d目錄下建立指向apacha2ctl的符合鏈接。

發佈了31 篇原創文章 · 獲贊 3 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章