虛擬主機
虛擬Web主機概念:
在同一臺物理服務器中運行多個Web站點,其中每一個站點並不獨立
佔用一臺真正的計算機
Httpd服務支持的虛擬主機類型
基於域名的虛擬主機——常用
基於端口的虛擬主機
基於IP地址的虛擬主機
基本架構拓撲圖(簡單拿繪圖畫的)
基於域名的虛擬主機(含Demo)
基於域名的虛擬主機即是爲每個虛擬主機配置不同的域名,但其指向的IP地址都爲一個。同時也是使用最爲廣泛的虛擬主機類型。
Demo
1、安裝實驗所需DNS、HTTP服務
[root@localhost ~]# yum -y install bind httpd
2、修改DNS服務的全局配置文件、區域配置文件
全局配置文件(/etc/named.conf)
修改監聽端口爲any
,修改允許訪問爲any
區域配置文件(/etc/named.rfc1912.zones)
添加kgc.com
與accp.com
兩個區域
3、配置區域數據配置文件
[root@localhost ~]# cd /var/named/
[root@localhost ~]#cp -p named.localhost kgc.zone
[root@localhost ~]#cp -p named.localhost accp.zone
[root@localhost ~]#vim kgc.zone/accp.zone
vi編輯器中
刪除IPV6地址
按G定位末行
添加
www IN A 192.168.116.135(本機IP地址)
wq保存退出
4、修改HTTP主配置文件
位置:/etc/httpd/conf/httpd.conf
按G定位末行;i插入
1 <VirtualHost *:80> //*爲IP地址,80爲端口號
2 DocumentRoot /var/www/html/kgc //網站地址
3 ServerName www.kgc.com //域名
4 Errorlog "logs/www.kgc.com.error_log" //錯誤日誌地址
5 CustomLog "logs/www.kgc.com.access_log" common //日誌地址(末尾使用common引用下面的配置)
6 <Directory "/var/www/html">
7 Require all granted
8 </Directory>
9 </VirtualHost> //收尾,結束
10
11 <VirtualHost *:80>
12 DocumentRoot /var/www/html/accp
13 ServerName www.accp.com
14 Errorlog "logs/www.accp.com.error_log"
15 CustomLog "logs/www.accp.com.access_log" common
16 <Directory "/var/www/html">
17 Require all granted
18 </Directory>
19 </VirtualHost>
5、建立域名對應的首頁
[root@localhost httpd]# cd /var/www/html/
[root@localhost html]# mkdir accp kgc
[root@localhost html]# cd kgc/
[root@localhost kgc]# vim index.html
vi編輯器中
<h1>this is kgc web</h1>
wq保存退出
[root@localhost kgc]# cd ../
[root@localhost html]# cd accp/
[root@localhost accp]# vim index.html
vi編輯器中
<h1>this is kgc web</h1>
wq保存退出
[root@localhost accp]#
6、驗證試驗結果
基於端口的虛擬主機(含Demo)
Demo
1、修改HTTP主配置文件
位置:/etc/httpd/conf/httpd.conf
1 <VirtualHost *:80> //80端口爲http的默認端口
2 DocumentRoot /var/www/html/kgc
3 ServerName www.kgc.com
4 Errorlog "logs/www.kgc.com.error_log"
5 CustomLog "logs/www.kgc.com.access_log" common
6 <Directory "/var/www/html">
7 Require all granted
8 </Directory>
9 </VirtualHost>
10
11 <VirtualHost *:8080> //修改端口爲8080
12 DocumentRoot /var/www/html/kgc02
13 ServerName www.kgc.com
14 Errorlog "logs/www.kgc02.com.error_log"
15 CustomLog "logs/www.kgc02.com.access_log" common
16 <Directory "/var/www/html">
17 Require all granted
18 </Directory>
19 </VirtualHost>
2、建立對應首頁
[root@localhost httpd]# cd /var/www/html/
[root@localhost html]# mkdir kgc02
[root@localhost html]# cd kgc02/
[root@localhost kgc]# vim index.html
vi編輯器中
<h1>this is kgc02 web</h1>
wq保存退出
3、修改主配置文件
查找Listen,照下圖進行修改
4、驗證實驗結果
基於IP的虛擬主機(含Demo)
Demo
注意:此實驗需要事先再添加一塊網卡,保證最少有兩張網卡存在。
1、修改HTTP主配置文件
位置:/etc/httpd/conf/httpd.conf
1 <VirtualHost 192.168.116.135:80> //修改IP地址
2 DocumentRoot /var/www/html/kgc
4 Errorlog "logs/www.kgc.com.error_log"
5 CustomLog "logs/www.kgc.com.access_log" common
6 <Directory "/var/www/html">
7 Require all granted
8 </Directory>
9 </VirtualHost>
10
11 <VirtualHost 192.168.116.138:80> //修改端口爲8080
12 DocumentRoot /var/www/html/kgc02
14 Errorlog "logs/www.kgc02.com.error_log"
15 CustomLog "logs/www.kgc02.com.access_log" common
16 <Directory "/var/www/html">
17 Require all granted
18 </Directory>
19 </VirtualHost>
第3行與第13行爲指定域名,因爲本次實驗訪問網站通過不同的IP地址進行,不需要使用域名,因此可以刪除。
2、修改監聽地址
地址:
/etc/httpd/conf/httpd.conf
查找Listen,並照下圖進行修改
輸入systemctl restart httpd
即可進行實驗驗證。(首先需要保證站點下存在對應首頁)
3、實驗驗證