標籤:red hat 6&red
虛擬Web 主機指的是在同一台伺服器中運行多個Web 網站,其中的每一個網站實際上並不
獨立佔用整個伺服器,因此被稱為‘虛擬”Web 主機。通過虛擬Web 主機服務可以充分利用服務
器的硬體資源,從而大大降低網站構建及運行成本。
使用httpd 可以非常方便地構建虛擬機器主機伺服器,只需要運行一個httpd 服務就能夠同時支撐
大量的Web網站。httpd支援的虛擬機器主機類型包括以下三種。
基於網域名稱: 為每個虛擬機器主機使用不同的網域名稱,但是其對應的IP 位址是相同的。例如,
www.benet.com和www.accp com網站的地址都是173.17 17.11.這是使用最為普
遍的虛擬Web 主控件類型。
基於IP地址:為每個虛擬機器主機使用不同的網域名稱,且各自對應的P地址也不相同。這種方
式需要為伺服器配備多個網路介面,因此應用並不是非常廣泛。
基於連接埠:這種方式並不使用網域名稱、IP 位址來區分不同的網站內容,而是使用了不同的
TCP 通訊埠號,因此使用者在瀏覽不同的虛擬網站時需要同時指定連接埠號碼才能訪問。
在上述幾種虛擬Web主機中,基於網域名稱的虛擬機器主機是使用最為廣泛的。也是本節介紹的重點
內容,關於另外兩種類型的虛擬機器主機,將只介紹其配置要點。另外,因不同類型的虛擬機器主機建
分機制各不相同,建議不要同時使用,以免相互混淆。
實驗環境:一台裝有red hat 7的主機或者red hat 6的系統,已經搭建好Apache網站,YUM倉庫
一
1.我們先配置DNS伺服器,用來解析網域名稱。(這裡就不用源碼包安裝了,也不做過多的介紹,下一個部落格寫DNS伺服器,使用yum進行安裝)
[[email protected] ~]# yum install -y bind bind-utils
2.修改全域設定檔
[[email protected] ~]# vim /etc/named.conf
options {
listen-on port 53 { any; };
allow-query { any; };
}
3.修改地區設定檔
[[email protected] ~]# vim /etc/named.rfc1912.zones
添加以下內容
zone "benet.com" IN {
type master;
file "benet.com.zone";
allow-update { none; };
};
zone "accp.com" IN {
type master;
file "accp.com.zone";
allow-update { none; };
};
4.修改地區資料設定檔
[[email protected] ~]# cd /var/named/
[[email protected] named]# cp -p named.localhost benet.com.zone
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS @
A 127.0.0.1
AAAA ::1
PTR localhost.
www IN A 192.168.100.70
~
5.將benet的設定檔拷貝成accp
[[email protected] named]# cp -p benet.com.zone accp.com.zone
6.將原生地址寫入庫檔案中
[[email protected] named]# echo "namedserver 192.168.100.70" >/etc/resolv.conf
7.啟動DNS服務
[[email protected] named]# service named start
二
1.準備虛擬機器文檔
[[email protected] ~]# mkdir -p /var/www/html/benet
[[email protected] ~]# mkdir -p /var/www/html/accp
2.寫一個網頁匯入到目錄中
echo "<h1>www.benet.com</h1>" >/var/www/html/benet/index.html
echo "<h1>www.accp.com</h1>" >/var/www/html/accp/index.html
3.建立一個目錄寫虛擬機器的設定檔
[[email protected] ~]# mkdir /usr/local/apache/conf.d
4.在目錄中建立一個虛擬機器主機的文檔,一個虛擬路徑的文檔
[[email protected] conf.d]# vim vdir.conf
Alias /test/ "/var/www/html/benet"
<Directory "/opt/benet">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
Require all granted
</Directory>
Alias /test1/ "/opt/accp"
<Directory "/var/www/html/accp">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
Require all granted
</Directory>
Order 配置項可以設定為“allow.deny" 或"deny,allow
以決定主機應用“允許”和“拒絕”
策略的先後順序。
allow.deny: 先“允許”後“拒絕”,預設拒絕所有未明確允許的客戶機地址,
deny,allow: 先“拒絕”後
允許,預設允許所有未明確拒絕的客戶機地址。
(以上沒解釋的請參考上一個博文)
[[email protected] conf.d]# vim vhost.conf
(基於網域名稱的虛擬機器主機,需要在本機或者linux上添加hosts指向)
windows如下
C:\Windows\System32\drivers\etc(預設路徑)
192.168.100.70 www.accp.com
192.168.100.70 www.benet.com
<VirtualHost 192.168.100.70:80>
ServerAdmin [email protected]
DocumentRoot /var/www/html/accp
ServerName www.accp.com
ErrorLog logs/bjxh.com-error_log
CustomLog logs/bjxh.com-access_log common
</VirtualHost>
<Directory "/var/www/html/accp">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
Require all granted
</Directory>
<VirtualHost 192.168.100.70:80>
ServerAdmin [email protected]
DocumentRoot /var/www/html/benet
ServerName www.benet.com
ErrorLog logs/bjxh.com-error_log
CustomLog logs/bjxh.com-access_log common
</VirtualHost>
<Directory "/opt/benet/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
Require all granted
</Directory>
<VirtualHost 192.168.100.70:80>
ServerAdmin [email protected]
DocumentRoot /var/www/html/accp
ServerName www.accp.com
ErrorLog logs/bjxh.com-error_log
CustomLog logs/bjxh.com-access_log common
</VirtualHost>
監聽地址: 使用NameVirtualHost 配置項指定提供虛擬機器主機服務的IP 位址,也就是進行域
名查詢時各虛擬Web主機的IP地址,如173.17.17.11。
虛擬機器主機地區: 使用<VirtualHost 監聽地址>....<"/VirtualHost>地區配置,為每一個虛擬
Web 主機建立獨立的配置內容。其中至少應包括虛擬機器主機的網站名稱、網頁根目錄的配
其他(如管理郵箱、訪問日誌等) 配置項可根據實際需要添加。
目錄許可權,使用<Directory 目錄位置....Dpcdo>地區配置,為每一個虛擬Web
主機的網站目錄設定存取權限,如允許任何人訪問。目錄訪問可以繼承其父目錄的授權
許可,因此可以採取直接為父資料夾授權存取權限的方法來簡化配置。
5.配置基於連接埠的虛擬機器主機
Listen 8080
<VirtualHost 192.168.100.70:80>
ServerAdmin [email protected]
DocumentRoot /var/www/html/benet
ServerName www.benet.com
ErrorLog logs/benet.com-error_log
CustomLog logs/benet.com-access_log common
</VirtualHost>
<Directory "/var/www/html/benet">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
Require all granted
</Directory>
<VirtualHost 192.168.100.70:8080>
ServerAdmin [email protected]
DocumentRoot /var/www/html/accp
ServerName www.accp.com
ErrorLog logs/accp.com-error_log
CustomLog logs/accp.com-access_log common
</VirtualHost>
<Directory "/var/www/html/accp">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
Require all granted
</Directory>
6.配置基於IP地址的主機(需要添加一塊網卡配置IP地址等資訊,並啟用)
需要在本機或者linux上添加hosts指向
windows如下
C:\Windows\System32\drivers\etc(預設路徑)
192.168.100.70 www.accp.com
192.168.90.70 www.benet.com
<VirtualHost 192.168.100.70:80>
ServerAdmin [email protected]
DocumentRoot /var/www/html/accp
ServerName www.accp.com
ErrorLog logs/accp.com-error_log
CustomLog logs/accp.com-access_log common
</VirtualHost>
<Directory "/var/www/html/accp">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
Require all granted
</Directory>
<VirtualHost 192.168.90.70:80>
ServerAdmin [email protected]
DocumentRoot /var/www/html/benet
ServerName www.benet.com
ErrorLog logs/benet.com-error_log
CustomLog logs/benet.com-access_log common
</VirtualHost>
<Directory "/var/www/html/benet">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
Require all granted
</Directory>
三
修改完成之後再httpd的配置中添加虛擬機器主機的路徑
[[email protected] ~]# vim /usr/local/apache/conf/httpd.conf
Include conf.d/*.conf
2.修改httpd的設定檔給網頁路徑許可權
<Directory "/var/www/html/">
AllowOverride None
Options None
Require all granted
</Directory>
3.重啟服務後就可以訪問了
[[email protected] ~]# service httpd restart
註:本篇文章注意細節
本篇文章可能讓大家等太久了(這幾天實在太忙),小編在此向大家道歉!
本文出自 “13219718” 部落格,請務必保留此出處http://13229718.blog.51cto.com/13219718/1959687
red hat 6&red hat 7 Apache網站搭建(二)虛擬機器主機