目录
一、构建虚拟主机
1.1 虚拟Web主机
- 在同一台服务器中运行多个web站点,其中每一个站点并不独立占用一台真正的计算机。
1.2 httpd支持的虚拟主机类型
- 基于域名的虚拟主机
- 基于IP地址的虚拟主机
- 基于端口的虚拟主机
二、基于域名构建虚拟主机
2.1 安装配置DNS解析服务
[root@localhost ~]# yum install httpd bind -y
[root@localhost ~]# vim /etc/named.conf ## 修改主配置文件
listen-on port 53 {
any; }; ## 修改监听端口为any
allow-query {
any; }; ## 允许所有人访问
[root@localhost ~]# vim /etc/named.rfc1912.zones ## 修改区域配置文件
zone "kgc.com" IN {
type master;
file "kgc.zone";
allow-update {
none; };
};
zone "benet.com" IN {
type master;
file "benet.zone";
allow-update {
none; };
[root@localhost named]# cp -p named.localhost kgc.zone
[root@localhost named]# cp -p named.localhost benet.zone
[root@localhost named]# vim kgc.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.233.100
~
[root@localhost named]# vim benet.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.233.100
2.2 配置httpd服务
- httpd配置
[root@localhost httpd]# cd /etc/httpd/conf
[root@localhost httpd]# mkdir extra
[root@localhost httpd]#cd extra
[root@localhost extra]# vim httpd_vhost.conf
<VirtualHost *:80>
DocumentRoot "/var/www/html/kgc.com"
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.com"
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>
[root@localhost extra]# cd /var/www/html/
[root@localhost html]# mkdir benet.com kgc.com
[root@localhost benet.com]# vim index.html
<h1>this is benet </h1>
[root@localhost kgc.com]# vim index.html
<h1>this is kgc </h1>
[root@localhost kgc.com]# systemctl start httpd ## 启动httpd服务
[root@localhost kgc.com]# systemctl start named ## 启动NDS解析服务
[root@localhost kgc.com]# iptables -F ## 关闭防火墙
[root@localhost kgc.com]# setenforce 0 ## 关闭核心防护
2 .3 不同域名测试
三、基于不同端口构建虚拟主机
·
3.1 配置httpd服务
[root@localhost kgc.com]# cd /etc/httpd/conf/extra
[root@localhost extra]# vim httpd_vhost.conf
<VirtualHost *:80>
DocumentRoot "/var/www/html/benet.com"
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/benet02.com"
ServerName www.benet.com
ErrorLog "logs/www.benet02.com.error_log"
CustomLog "logs/www.benet02.com.access_log" common
<Directory "/var/www/html">
Require all granted
</Directory>
</VirtualHost>
[root@localhost ~]# systemctl restart httpd ## 重启服务
[root@localhost extra]# cd /var/www/html/
[root@localhost html]# mkdir benet02.com
[root@localhost benet02.com]# vim index.html
<h1>this is benet02 </h1>
[root@localhost ~]# systemctl restart named ## 重启服务
3.3 不同端口测试
- 访问80 端口
- 访问8080 端口
四、基于不同IP构建虚拟主机
4.1 添加双网卡
[root@localhost network-scripts]# ip add
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:2f:7b:dc brd ff:ff:ff:ff:ff:ff
inet 192.168.233.100/24 brd 192.168.233.255 scope global noprefixroute ens33
valid_lft forever preferred_lft forever
inet6 fe80::bdfe:6407:b656:c916/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3: ens37: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:2f:7b:e6 brd ff:ff:ff:ff:ff:ff
inet 192.168.233.130/24 brd 192.168.233.255 scope global noprefixroute ens37
valid_lft forever preferred_lft forever
inet6 fe80::ee12:610d:ff79:97f5/64 scope link noprefixroute
valid_lft forever preferred_lft forever
4.2 配置httpd服务
[root@localhost ~]# cd /etc/httpd/conf/extra/
[root@localhost extra]# vim vhosts.conf
<VirtualHost 192.168.233.100:80>
DocumentRoot "/var/www/html/benet.com"
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 192.168.233.130:80>
DocumentRoot "/var/www/html/benet02.com"
ServerName www.benet.com
ErrorLog "logs/www.benet02.com.error_log"
CustomLog "logs/www.benet02.com.access_log" common
<Directory "/var/www/html">
Require all granted
</Directory>
</VirtualHost>
~
[root@localhost extra]# vim /etc/httpd/conf/httpd.conf
Listen 192.168.233.100:80
Listen 192.168.233.130:80
#Listen 80
[root@localhost extra]# cd /var/www/html/
[root@localhost html]# mkdir benet02.com
[root@localhost benet02.com]# vim index.html
<h1>this is benet02 </h1>
[root@localhost ~]# systemctl restart named ## 重启服务