Apache HTTP Server 版本2.2
在Windows NT/2000/XP/2003操作系統(tǒng)中,Apache一般以服務(wù)方式運行,或者在Windows 95/98/ME中以控制臺程序方式運行。詳情請參見以服務(wù)方式運行Apache和以控制臺程序方式運行Apache。
在Unix操作系統(tǒng)中,httpd
程序作為一個守護進程運行,在后臺不斷處理請求。本文檔描述了如何調(diào)用httpd
。
如果配置文件中Listen
定義的是默認的80端口(或1024以下),那么啟動Apache將需要root權(quán)限以將它綁定在特權(quán)端口上。一旦服務(wù)器開始啟動并完成了一些諸如打開日志文件之類的準備操作,它將創(chuàng)建很多子進程來完成一些諸如偵聽和回應(yīng)客戶端請求的工作。httpd
主進程仍然以root用戶的權(quán)限運行,而它的子進程將以一個較低權(quán)限的用戶運行。這將由你選擇的多路處理模塊進行控制。
調(diào)用httpd
可執(zhí)行文件的推薦方法是使用apachectl
控制腳本。此腳本設(shè)置了在某些操作系統(tǒng)中正常運行httpd
所必需的環(huán)境變量,然后調(diào)用httpd
二進制文件。apachectl
會傳遞命令行的所有參數(shù),因此所有用于httpd
的選項多半也可以用于apachectl
。你可以直接修改apachectl
腳本,改變首部的HTTPD
變量使之指向httpd
可執(zhí)行文件的正確位置,也可以設(shè)置任意的命令行參數(shù),使之總是有效。
httpd
被調(diào)用后第一件要做的事情就是找到并讀取配置文件httpd.conf
。此文件的位置是在編譯時設(shè)定的,但也可以象下面這樣在運行時用 -f
選項來指定:
/usr/local/apache2/bin/apachectl -f /usr/local/apache2/conf/httpd.conf
如果啟動過程一切正常,服務(wù)器將與終端分離并幾乎立即出現(xiàn)命令行提示符。這表示服務(wù)器已經(jīng)啟動并開始運行。然后你就可以用你的瀏覽器去連接你的服務(wù)器來查看DocumentRoot
目錄下的測試文檔及其頁面鏈接里的其它文檔的本地副本。
如果Apache在啟動過程中發(fā)生了致命錯誤,它將在退出前把描述這個錯誤的信息顯示在終端上或者寫入到ErrorLog
中。一個最常產(chǎn)生的錯誤信息是"Unable to bind to Port ...
",這主要由以下原因造成:
更多問題的解決辦法,請參見常見問題。
如果你希望你的服務(wù)器在系統(tǒng)重啟后仍保持運行狀態(tài),你應(yīng)該把apachectl
的調(diào)用加入到你的系統(tǒng)啟動文件中(通常為rc.local
文件或rc.N
目錄下的某一文件)。這將會以root權(quán)限啟動Apache。當然,在此之前,你必須保證你的服務(wù)器已經(jīng)完成了安全和訪問權(quán)限的設(shè)定。
apachectl
腳本被設(shè)計為可以用作SysV初始化腳本,它接受start
、restart
、stop
參數(shù),并把它們翻譯為httpd
對應(yīng)的信號,所以通常都可以將apachectl
連接到適當?shù)某跏寄夸,但是需要檢查你的系統(tǒng)對此的精確要求。