文章目录
虚拟Web主机
虚拟web主机指的是在同一台服务器中运行多个web站点,其中的每一个站点实际上并不独自占用整个服务器
httpd支持的虚拟主机类型
基于域名的虚拟主机
为每个虚拟主机使用不同的域名,但是其对应的IP地址是相同的
基于IP地址的虚拟主机
为每个虚拟主机使用不同的域名,切各自对应的IP地址也不相同
基于端口的蓄力主机
这种方式并不使用域名、IP地址来区分不同站点的内容,而是使用不同的TCP端口号,因此用户在浏览不同的虚拟站点时需要同时指定端口号才能访问。
基于域名的虚拟主机
需求:构建2个虚拟Web站点,IP地址均为192.168.136.100,在浏览器中访问两个不同的域名时分别显示不同内容
实验需要:配置双网卡IP,并在其中安装DNS与http服务,测试win10机与这两个IP的连通性
[root@promote ~]# yum install -y httpd bind*
修改DNS主配置文件
设置DNS服务器的全局参数
[root@promote ~]# vim /etc/named.conf
.................................
options {
listen-on port 53 { any; };
省略部分.............
allow-query { any; };
.............................
设置区域配置文件
设置本服务器提供域名解析的特定DNS区域
[root@promote ~]# vim /etc/named.rfc1912.zones
zone "kgc.com" IN {
type master;
file "kgc.com.zone";
allow-update { none; };
};
zone "benet.com" IN {
type master;
file "benet.com.zone";
allow-update { none; };
};
添加区域数据配置文件
全局TTL配置项及SOA记录(指向自己的主机ip)
.域名解析记录
[root@promote ~]# cd /var/named/
[root@promote named]# cp -p named.localhost kgc.com.zone
[root@promote named]# vim kgc.com.zone
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS @
A 127.0.0.1
www IN A 192.168.136.100
[root@promote named]# cp -p kgc.com.zone benet.com.zone
添加虚拟主机配置文件
[root@promote ~]# cd /etc/httpd/conf/
[root@promote conf]# mkdir extra
[root@promote conf]# cd extra/
[root@promote extra]# vim vhost.conf
<VirtualHost *:80>
DocumentRoot "/var/www/html/kgc" ## 站点目录
ServerName www.kgc.com ##站点域名
ErrorLog "logs/www.kgc.com.error_log" ##错误日志
CustomLog "logs/www.kgc.com.access_log" common ##访问日志
<Directory "/var/www/html">
Require all granted 允许所有人访问
</Directory>
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "/var/www/html/benet"
ServerName www.benet.com
ErrorLog "logs/www.benet.com.error_log"
CustomLog "logs/www.benet.com.access_log" common
<Directory "/var/www/html">
Require all granted
</Directory>
</VirtualHost>
添加站点网页文件
[root@promote extra]# cd /var/www/html/
[root@promote html]# mkdir kgc
[root@promote html]# mkdir benet
[root@promote ~]# vim /var/www/html/kgc/index.html
<h1>this is kgc web</h1>
[root@promote ~]# vim /var/www/html/benet/index.html
<h1>this is benet web </h1>
申明虚拟地址位置
[root@promote ~]# vim /etc/httpd/conf/httpd.conf
Include conf/extra/vhost.conf
开启服务
[root@promote ~]# systemctl start httpd
[root@promote ~]# systemctl start named
基于IP地址的虚拟主机配置
需求:构建2个虚拟Web站点,使用不同IP分别为192.168.60.10、192.168.60.60,要求在浏览器中访问这两个IP时,分别显示不同内容
[root@promote ~]# yum install -y httpd bind*
修改DNS主配置文件
[root@promote ~]# vim /etc/named.conf
.................................
options {
listen-on port 53 { any; };
省略部分.............
allow-query { any; };
.............................
设置区域配置文件
[root@promote ~]# vim /etc/named.rfc1912.zones
zone "kgc.com" IN {
type master;
file "kgc.com.zone";
allow-update { none; };
};
zone "benet.com" IN {
type master;
file "benet.com.zone";
allow-update { none; };
};
添加区域数据配置文件
[root@promote ~]# cd /var/named/
[root@promote named]# cp -p named.localhost kgc.com.zone
[root@promote named]# vim kgc.com.zone
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS @
A 127.0.0.1
www IN A 192.168.60.10
[root@promote named]# cp -p kgc.com.zone benet.com.zone
修改http配置文件
[root@promote ~]# vim /etc/httpd/conf/httpd.conf
Listen 192.168.60.10:80
Listen 192.168.60.60:80
#Listen 80
[root@promote ~]# systemctl start httpd
[root@promote ~]# systemctl start named
添加虚拟主机配置文件
[root@promote ~]# cd /etc/httpd/conf/
[root@promote conf]# mkdir extra
[root@promote conf]# cd extra/
[root@promote extra]# vim vhost.conf
<VirtualHost 192.168.60.10:80>
DocumentRoot "/var/www/html/kgc"
ServerName www.kgc.com
ErrorLog "logs/www.kgc.com.error_log"
CustomLog "logs/www.kgc.com.access_log" common
<Directory "/var/www/html">
Require all granted
</Directory>
</VirtualHost>
<VirtualHost 192.168.60.60:80>
DocumentRoot "/var/www/html/kgc01"
ServerName www.kgc.com
ErrorLog "logs/www.kgc01.com.error_log"
CustomLog "logs/www.kgc01.com.access_log" common
<Directory "/var/www/html">
Require all granted
</Directory>
</VirtualHost>
添加站点网页文件
[root@promote extra]# cd /var/www/html/
[root@192 html]# mkdir kgc kgc01
[root@promote ~]# vim /var/www/html/kgc/index.html
<h1>this is kgc web</h1>
[root@promote ~]# vim /var/www/html/kgc01/index.html
<h1>this is kgc01 web </h1>
基于端口的虚拟主机配置
安装httpd服务和DNS域名解析服务
需求:构建2个虚拟Web站点,使用同一IP地址192.168.60.10,在访问www.benet.com时使用80端口,访问www.benet.com时使用8080端口
[root@promote ~]# yum install -y httpd bind*
修改DNS主配置文件
[root@promote ~]# vim /etc/named.conf
.................................
options {
listen-on port 53 { any; };
省略部分.............
allow-query { any; };
.............................
设置区域配置文件
[root@promote ~]# vim /etc/named.rfc1912.zones
zone "kgc.com" IN {
type master;
file "kgc.com.zone";
allow-update { none; };
};
zone "benet.com" IN {
type master;
file "benet.com.zone";
allow-update { none; };
};
添加区域数据配置文件
[root@promote ~]# cd /var/named/
[root@promote named]# cp -p named.localhost kgc.com.zone
[root@promote named]# vim kgc.com.zone
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS @
A 127.0.0.1
www IN A 192.168.60.10
[root@promote named]# cp -p kgc.com.zone benet.com.zone
配置httpd文件
[root@promote ~]# vim /etc/httpd/conf/httpd.conf
Listen 192.168.60.10:80
Listen 192.168.60.10:8080
ServerName www.benet.com:80
Include conf/extra/vhost.conf
[root@promote ~]# systemctl start httpd
[root@promote ~]# systemctl start named
添加虚拟主机配置文件
[root@promote ~]# cd /etc/httpd/conf/
[root@promote conf]# mkdir extra
[root@promote conf]# cd extra/
[root@promote extra]# vim vhost.conf
<VirtualHost *:80>
DocumentRoot "/var/www/html/benet"
ServerName www.benet.com
ErrorLog "logs/www.benet.com.error_log"
CustomLog "logs/www.benet.com.access_log" common
<Directory "/var/www/html">
Require all granted
</Directory>
</VirtualHost>
<VirtualHost *:8080>
DocumentRoot "/var/www/html/benet01"
ServerName www.benet.com
ErrorLog "logs/www.benet01.com.error_log"
CustomLog "logs/www.benet01.com.access_log" common
<Directory "/var/www/html">
Require all granted
</Directory>
</VirtualHost>
添加站点网页文件
[root@promote extra]# cd /var/www/html/
[root@192 html]# mkdir benet benet01
[root@promote ~]# vim /var/www/html/benet/index.html
<h1>this is benet web</h1>
[root@promote ~]# vim /var/www/html/benet01/index.html
<h1>this is benet01 web </h1>
修改http配置文件
[root@promote ~]# vim /etc/httpd/conf/httpd.conf
Listen 192.168.60.10:80
Listen 192.168.60.10:8080
Include conf/extra/vhost.conf
[root@promote ~]# systemctl start httpd
[root@promote ~]# systemctl start named
``