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 |
或者在運行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的符合鏈接。