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