Httpd服務器中構建Web虛擬主機
Web虛擬主機指的是在同一臺服務器中運行多個Web站點,其中的每一個站點實際上並不肚子占用整個服務器,因此被成為“虛擬”Web主機。通過虛擬Web主機服務可以充分利用服務器的硬件資源,從而大大降低網站構建及運行成本‘
虛擬的Web主機有三種類型
- 基於域名的虛擬主機
- 基於IP地址的虛擬主機
- 基於端口的虛擬主機
對於基於IP地址的虛擬主機,每個虛擬Web主機使用不同的IP地址,但是都通過同一臺httpd服務器對外提供Web瀏覽服務。正因如此,用來支撐這些虛擬Web主機的服務器就需要大量的網絡接口,這在實際應用中成本較高,所以基於IP地址的虛擬主機在實際應用中並不常見,本文中就不做介紹,接下來著重講其他兩種的虛擬Web主機。
構建虛擬的Web主機
實驗準備
- linux虛擬機(Red Hat Enterprise 6.5)IP:192.168.175.103
- windows 7 客戶機
實驗思路
- 為虛擬主機提供域名解析
- 為虛擬主機提供網頁文檔
- 添加虛擬主機配置
- 在客戶機中訪問虛擬Web主機
實驗開始
基於域名的虛擬主機
首先需要正確安裝好httpd服務器軟件,可以選擇RPM安裝,或者源碼編譯安裝兩種方式.
在httpd服務器的配置文件中添加監聽地址以及主機名
在該配置文件中修改(/etc/httpd/conf/httpd.conf),同時要註釋掉IPv6行
Listen 192.168.175.103:80 ServerName www.localhost.com
為虛擬主機提供域名解析
RPM安裝DNS服務器軟件
修改主配置文件
修改區域配置文件
修改區域數據配置文件
對於“accp.com”的配置文件,只需要復制“benet.com”d的即可,註意保留屬主(cp -p)。文件名也要更改,否則無效。
啟動服務,同時利用‘host’測試地址解析是否正常
service named start
host www.benet.com //命令查看地址解析結果
關於DNS更詳細的配置方法可參考我以前的博客:域名解析服務
為虛擬主機添加網頁文檔
在opt目錄下,為虛擬主機創建站點,同時編寫簡單的測試網頁
添加虛擬主機配置
在/etc/httpd/conf.d/目錄下創建.conf 結尾的配置文件,將以下內容寫入
NameVirtualHost 192.168.175.103:80 //指定IP地址及相對應端口
<VirtualHost 192.168.175.103:80>
ServerAdmin [email protected] //管理員郵箱
DocumentRoot /opt/benet/ //站點目錄
ServerName www.benet.com //服務器名稱
ErrorLog logs/benet.com-error_log //錯誤日誌
CustomLog logs/benet.com-access_log common //訪問日誌
</VirtualHost>
基於相同端口號,相同IP地址但是不同主機名,要在該配置文件下同時創建兩個配置內容
在客戶機中訪問虛擬Web主機
所有配置完成之後,啟動服務,關閉防火墻及selinux防火墻
service httpd start
service iptables stop
setenforce 0
在windows7虛擬機中設置網絡,同時添加DNS地址
使用IE瀏覽器進行訪問測試
基於端口的虛擬主機
和基於域名的虛擬主機一樣,首先安裝httpd服務器軟件,修改配置文件,因為我們時基於端口的,所以要增加一個新的監聽地址,IP相同端口不同。
Listen 192.168.175.103:80
Listen 192.168.175.103:8080
ServerName www.localhost.com
為虛擬主機提供域名解析
主配置文件的修改都時一樣的,對於區域配置文件,只需要增加一個"benet.com"一個區域即可,區域數據配置文件也只需寫一個即可。
啟動服務
為虛擬主機添加網頁文檔
在/opt目錄下添加兩個站點,同時創建兩個首頁網站。
添加虛擬主機配置
在客戶機中訪問虛擬Web主機
啟動服務,關閉防火墻及selinux防火墻
在windows7虛擬機中配地址,及DNS地址,利用IE瀏覽器進行測試
Httpd服務器中構建Web虛擬主機