返回首頁
當前位置: 主頁 > 網絡編程 > Php實例教程 >

apache虛擬主機配置基礎教程

時間:2011-06-17 14:44來源:知行網www.bccsxs.icu 編輯:麥田守望者

Apache基于主機名稱的虛擬主機配置(即多個主機名可以對應一個IP,apache根據不同的主機名稱解析到不同的web目錄。)下面是一個本地的實例。

#這里配置虛擬主機的使用的IP和端口號

NameVirtualHost 127.0.0.1:80
<VirtualHost 127.0.0.1:80>
ServerAdmin [email protected] //管理郵箱名稱
ServerName bbs //主機名稱
DocumentRoot “E:\virtual”

//上面的路徑可以是一個絕對路徑也可以是一個相對路徑。其中相對路徑是指相對于的web根目錄的路徑
ErrorLog logs/virtual_error_log

//為虛擬主機配置的錯誤日志文件
CustomLog logs/virtual-access_log common

//用戶訪問日志文件
</VirtualHost>

好了,虛擬主機的配置都完成了,如果你對apache比較了解,還可以增加其它輔助的配置進去。

但是這時候會遇到一個問題,在瀏覽器里輸入http://bbs/ (bbs是我們剛才配置的主機名稱)會發現出現了無法顯示網頁的頁面。這是什么原因呢?這是因為在瀏覽器里輸入的域名,瀏覽器默認的先查詢windows系統自帶的一個hosts文件,查找跟主機名稱對應的Ip地址,如果沒有記錄,就會向dns服務器發送請求以解析這個主機名。這就是為什么我們輸入http://bbs出現無法顯示網頁的原因了,是的,因為沒有找到主機名對應的IP地址。那怎么解決呢?我們用的是本地的apache服務器,IP地址是本地地址,所以不可能讓dns服務器為我們解析主機名。但是我們可以手動修改windows系統的hosts文件,讓hosts文件為我們解析ip(hosts文件一般在系統根目錄下的windows/system32/drivers/etc目錄下或者在系統根目錄下的windows/system32目錄下),只要在系統的hosts文件加入如下一行就ok了。

127.0.0.1 bbs

好了,輸入http://bbs 就可以訪問我們的虛擬主機對應的web目錄了。

但是,還沒有結束,輸入我們原來的主機命會發現訪問到的同樣是bbs虛擬主機對應的web目錄。這是因為我們虛擬主機的設置覆蓋了原來中心主機的設置。解決方法很簡單,把原來的中心主機也配置成虛擬主機就可以了。關于這點,apache的幫助手冊是這么描述的:

如果你想在現有的web服務器上增加虛擬主機,你必須也為現存的主機建造一個<VirtualHost>定義塊。這個虛擬主機中ServerName和DocumentRoot所包含的內容應該與全局的ServerName和DocumentRoot保持一致。還要把這個虛擬主機放在配置文件的最前面,來讓它扮演默認主機的角色。

一樣的配置方法(別忘了設置hosts文件 哦),完成后,重新啟動apache就ok了。 就是這么簡單!
 

------分隔線----------------------------
標簽(Tag):php php實例教程 php源代碼 php基礎教程
------分隔線----------------------------
推薦內容
猜你感興趣
赛车pk10官网开奖记录