StartServers 8
這三項定義了服務程序的最小、最大空的子進程數目及服務程序開始時的進程數。5、20、8分別是它們的默認數值。
MaxClients 150
MaxRequestsPerChild 100
以上兩行定義了同一時刻最多的客戶連接數目和每個連接的子進程數。
Listen 3000
Listen 12.34.56.78:80
BindAddress *
這裏定義了服務程序監聽來自以上IP、端口號的Request。由於BindAddress隻支持*(代表所有的IP),所以產生了Listen這個參數以便更靈活地處理客戶機的響應。
ExtendedStatus On/Off
這條指令說明了是否跟蹤服務程序所產生的擴展狀態。
以下是對於DSO的支持,分別利用了LoadModule、AddModule參數。我們可以閱讀表1,加載自己所需要的模塊。
2.主服務器設置
下麵設置主服務器(非虛擬服務主機)。
Port 80
這個參數給出了服務程序開啟監聽的端口號為80。
User nobody
Group nobody
ServerAdmin root@localhost
ServerName localhost
上麵的第一、二行代表了打開服務進程的用戶名和用戶組名。第三、四行則是管理員的郵件地址和此服務器的主機名。
DocumentRoot "/home/httpd/html"
DirectoryIndex index.html index.htm index.shtml index.cgi
UserDir public_html
麵前兩行定義了網頁的主目錄和首頁名稱。UserDir給出了用戶的絕對路徑,也就是說明個人主頁存放路徑。
AccessFileName .htaccess
此指令指定了每個目錄下的文件權限是由.htaccess決定。當Apache試圖讀取某一目錄下的文件時,它將先查閱".htaccess"文件中所列的訪問控製指令,並執行相應的操作。
Mime 的文件定義類型是由下麵的兩句所決定:
TypesConfig /etc/mime.types
MIMEMagicFile share/magic
AddLanguage en .en
此參數可以增加對多種語言的支持。
ErrorLog /var/log/httpd/error_log
LogLevel warn
CustomLog /var/log/httpd/access_log common
上麵這些代碼代表了客戶機訪問服務器的一些日誌文件。
完成全局設置後,我們還要針對每個目錄的權限進行特定的配置。
3.目錄權限的配置
我們隻以一個目錄為例,其它的路徑可以類推。
<Directory /home/*/public_html>
AllowOverride FileInfo AuthConfig Limit
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
<Limit GET POST OPTIONS PROPFIND>
Order allow,deny
Allow from all
</Limit>
<Limit PUT DELETE PATCH PROPPATCH MKCOL COPY MOVE LOCK UNLOCK>
Order deny,allow
Deny from all
</Limit>
</Directory>
這一段定義了/home/*/public_html目錄下可以或禁止進行的文件操作,以及客戶機的受限範圍。
4.虛擬主機配置
虛擬主機配置是Apache最精彩的地方之一,很多的ASP也是利用Apache這個特性來提供優質服務的。
<VirtualHost www.virt.com>
SSLDisable
ServerAdmin [email protected]
DocumentRoot /var/httpd/virt
ScriptAlias /cgi-bin/ /var/httpd/virt/cgi-bin/
ServerName www.virt.com
ErrorLog logs/virt-error.log
TransferLog logs/virt-access.log
</VirtualHost>
我們可以看到它的語法和真正主機設置相差甚小,因此不再介紹。
實例
最後以我自己的Apache(httpd.conf)為例來結束我們的講解。
ServerType standalone
Port 80
Listen 80
Listen 1024
User wwwrun
Group wwwrun
ServerAdmin [email protected]
ServerRoot /etc/httpd
ErrorLog logs/error_log
TransferLog logs/access_log
PidFile logs/httpd.pid
ServerName www.wudi.com
MinSpareServers 3
MaxSpareServers 20
StartServers 3
如圖1所示。
圖1 虛擬主機1
<VirtualHost www.wudi1.com :80>
SSLDisable
ServerAdmin [email protected]
DocumentRoot /var/httpd/wudi1