陳欣
摘 要:在現(xiàn)在的互聯(lián)網(wǎng)Web服務器領域中,Apache服務器依靠快速、可靠、免費和良好的擴展性等優(yōu)點,占據(jù)了絕大多數(shù)的市場分額。本文基于Linux平臺,從Apache的特點和基本配置著手,講述了如何配置出簡單有效的Apache服務器。
關鍵詞:Linux;Unix;Apache;Web服務器
1 Apache服務器的介紹
Apache源于NCSAhttpd服務器,讀音取自“a patchy server”,是目前世界上最流行的Web服務器。Apache是一個著名的自由軟件,它是開源的,因此有程序員不斷來為它開發(fā)新功能、新特性。當前的Apache幾乎可以運行在所有的UNIX、Linux、Windows系統(tǒng)平臺上。Apache具有可移植性,支持SSL技術,支持多個虛擬主機。
在Web服務器領域中,Apache以快速、可靠、免費和良好的擴展性等優(yōu)點脫穎而出,已經(jīng)遠遠超過了其它的服務器。根據(jù)Netcraft的最新市場調查顯示,2013年7月全球服務器開發(fā)商市場中,Apache占據(jù)52.19%,排名第一。Microsoft僅僅占據(jù)19.65%,排名第二。Nginx占據(jù)13.60%,排名第三。
2 啟動Apache服務器
Linux中檢查服務器安裝情況 #rpm–qa|grep httpd,
Linux中啟動Apache服務器 #service httpd start
Linux中關閉Apache服務器 #service httpd stop
Linux中配置Apache服務器,管理員需要在防火墻中打開該服務器對應的80端口或指定的其它端口。此時客戶機可以使用瀏覽器來進行檢查,若有Apache的測試頁面出現(xiàn),則說明當前Web服務可以正確運行。
3 Apache服務器的基本配置
Linux系統(tǒng)中Apache服務器的主配置文件位于/etc/httpd/conf/httpd.conf,此文件由3大部分構成,即Apache全局配置、主服務器配置、虛擬主機配置。下面對配置文件做簡單介紹。
3.1 設置客戶端同一時間段的最大連接數(shù)目
#MaxClents 256
設置Apache服務器同時的最大連接數(shù)目,一旦超過此數(shù)目,客戶機就會得到“用戶太多,拒絕訪問”的錯誤提示。管理員可以根據(jù)服務器實際情況做相應的修改。
3.2 設置服務器的監(jiān)聽端口
#Listen 12.34.56.78:80
配置Apache服務器的監(jiān)聽端口,也可以不適用默認的端口80。如:
使用8080端口 # Listen 192.168.3.188:8080
使用9001端口 # Listen 192.168.3.188:9001
設置服務器監(jiān)聽非80的其它端口,客戶機的訪問方式會有所不同,如果Apache服務器中的網(wǎng)站http://www.wtcjsj.com監(jiān)聽端口改為9001,則客戶機需要在瀏覽器中鍵入http://www.wtcjsj.com:9001來訪問該站點。
3.3 設置默認網(wǎng)站在服務器中的位置
#DocumentRoot "/var/www/html"
設置Apache服務器默認網(wǎng)站在服務器中的位置,默認情況下部署的站點位于/var/www/html目錄中。網(wǎng)絡管理員可以根據(jù)實際情況做相應的修改,如改為"/var/www/ldgs"。
3.4 設置默認主頁名
#DirectoryIndex index.html index.htm index.php index.html.var
設置Apache服務器的默認主頁名,系統(tǒng)默認的主頁名為index.html、index.htm和index.php。網(wǎng)絡管理員可以根據(jù)實際情況做出修改,如改為#DirectoryIndex ldgs.php index.html.var
3.5 設置服務器虛擬目錄,并設置訪問權限
Alias /icons/ "/var/www/icons/"
(1)AuthType選項設置對用戶實施認證的類型
(2)AuthName設置認證領域內容。
(3)AuthUserFile設置口令文件的路徑
(4)Require設置允許訪問的用戶
設置虛擬目錄Alias /ldgs "/usr/local/ldgs"
虛擬目錄位置
Options Indexes FollowSymLinks MultiViews
實施認證語言 AuthType Basic
設置認證內容AuthName "This is our directory. Please Login:"
設置口令路徑AuthUserFile /etc/httpd/ldgspwd
設置訪問權限AllowOverride None
Order allow,deny
Allow from all
設置訪問用戶Require user peter jack
3.6 設置服務器識別的語言
AddDefaultCharset GB2312
設置Apache服務器默認識別中文簡體,如果此處未正確定義會導致部署的網(wǎng)頁無法正確顯示中文。
4 虛擬主機的配置
通過虛擬主機部署Apache服務器??梢院喕渲梅掌鞯墓ぷ?,用戶可以在一臺服務器上配置多個不同的Web站點,常見的方法有如下3種:
⑴基于多個IP地址的虛擬主機(每個獨立的站點都有一個IP地址)
⑵基于多個域名的虛擬主機(一個IP地址實現(xiàn)多個網(wǎng)站,網(wǎng)站使用不同的域名)
⑶基于多個端口的虛擬主機(一個IP地址實現(xiàn)多個網(wǎng)站,網(wǎng)站使用不同的端口)
舉例:這里以基于多個域名的虛擬主機來講述虛擬主機的配置方法,本例使用一個IP地址,在一臺Apache服務器中部署兩個公司的站點,使用系統(tǒng)默認的80端口。
NameVirtualHost 192.168.3.188 定義服務器地址
ServerName www.ldgs.com:80 定義虛擬網(wǎng)站ldgs的名稱
DocumentRoot /var/www/ldgs 定義虛擬網(wǎng)站ldgs的目錄
DirectoryIndex ld.html 定義虛擬網(wǎng)站ldgs的主頁
ServerName www.zdgs.com:80 定義虛擬網(wǎng)站zdgs的名稱
DocumentRoot /var/www/zdgs 定義虛擬網(wǎng)站zdgs的目錄
DirectoryIndex zd.html 定義虛擬網(wǎng)站zdgs的主頁
Apache服務器基于多個域名的虛擬主機配置還需要相應的域名解析,管理員必須在指定的DNS服務器上對虛擬站點做出域名解析。配置完成后用戶即可通過http://www.ldgs.com和http://www.zdgs.com來訪問Apache服務器上的兩個不同網(wǎng)站?;诙鄠€IP地址和基于多個端口的虛擬主機配置方法與此類似,虛擬主機配置Apache服務器的技術提高了服務器的利用率,解決了在一臺Apache服務器上部署多個Web站點的問題。
[參考文獻]
[1]仲勁.Linux服務器配置與管理.北京:北京理工大學出版社.2011.
[2]代洪濤.Linux 操作與服務器配置實用教程.北京:清華大學出版社. 2014.
[3]林慧琛.Red Hat Linux服務器配置與應用.北京:人民郵電出版社. 2006.
[4]劉凱.Linux服務器架設項目教程.北京:電子工業(yè)出版社.2011.