文章目录
一、虚拟主机概述
- 虚拟Web主机
- 在同一台服务器中运行多个Web站点,其中每一一个站点并不独立占用一台真正的计算机
- httpd支持的虚拟主机类型
- 基于域名的虚拟主机
- 基于IP地址的虚拟主机
- 基于端口的虚拟主机
二、实验准备
- 构建2个虚拟Web站点:
网站:www.test.com、www.demo.com - 确认安装httpd、bind 软件
- 关闭防火墙
yum install -y bind httpd
systemctl stop firewalld
setenforce 0
三、基于域名—构建虚拟主机
网站:www.test.com,IP:192.168.220.134
网站:www.demo.com,IP:192.168.220.134
3.1、DNS解析
1、DNS的主配置文件
vim /etc/named.conf
2、区域配置文件的修改
vim /etc/named.rfc1912.zones
3、区域数据文件
cd /var/named
cp -p named.localhost test.com.zone
vim test.com.zone
解析的都是www,故直接复制test.com.zone 即可
cp -p test.com.zone demo.com.zone
systemctl start named
win10系统的配置
可以验证DNS的配置是否成功,在win10系统里用nslookup命令
3.2、为虚拟主机准备网页文档
1、创建网页文档
分别给两个文件设置网页内容
echo "this is test01 " > test01/index.html
echo "this is demo01 " > demo01/index.html
3.3、虚拟主机配置
1、添加虚拟主机配置
cd /etc/httpd/conf
mkdir abc
cd abc/
vim vhost.conf
#####修改模板:
<VirtualHost *:80>
DocumentRoot "/var/www/html/test01"
ServerName www.test.com
Errorlog "logs/www.test.com.error_log"
Customlog "logs/www.test.com.access_log" common
<Directory "/var/www/html">
Require all granted
</Directory>
</VirtualHost>
3.4、httpd服务
1、编辑httpd主配置文件
vim /etc/httpd/conf/httpd.conf
:/Include #在行尾模式下添加虚拟主机的配置文件路径
Include conf/abc/vhost.conf
2、开启httpd服务
systemctl start httpd
3.5、结果验证
1、最后验证,在win10的浏览器中
四、基于端口—构建虚拟主机
4.1、实验环境
- 构建2个虚拟Web站点
- www.test.com,IP地址、端口为192.168.220.134:80
- www.test. com , IP地址、端口为192.168.220.134:8080
- 在浏览器中访问这两个端口时,分别显示不同的内容
4.2、实验过程
基于上个实验的基础进行修改
1、在/var/www/html下新建
cd /var/www/html/
mkdir test02
echo "this is test02 " > test02/index.html
2、修改虚拟主机的配置文件vhost.conf
3、更改监听地址,同一个ip地址对应不同的端口
vim /etc/httpd/conf/httpd.conf
4、重启服务
systemctl restart httpd
systemctl restart named
5、最后验证
五、基于IP—构建虚拟主机
5.1、应用示例
- 构建2个虚拟Web站点
- www.demo.com , IP地址为192.168.220.134
- www.demo02.com,IP地址为192.168.220.135
- 在浏览器中访问这两个IP时,分别显示不同的内容
5.2、实验操作
1、添加一块新的网卡,查看IP地址
在win10里 用ping命令验证与centos7是否互通
2、因为IP地址有两个,故DNS配置中需要修改区域文件和域名解析文件。
vim /etc/named.rfc1912.zones
vim demo02.com.zone
启动服务
systemctl restart named
3、为虚拟主机准备网页文档
4、修改虚拟主机的配置
我的两个网卡IP地址分别对应一个站点
192.168.220.134 www.demo.com
192.168.220.135 www.demo02.com
####代码:
<VirtualHost 192.168.220.134:80>
DocumentRoot "/var/www/html/demo01"
ServerName www.demo.com
Errorlog "logs/www.demo.com.error_log"
Customlog "logs/www.demo.com.access_log" common
<Directory "/var/www/html">
Require all granted
</Directory>
</VirtualHost>
<VirtualHost 192.168.220.135:80>
DocumentRoot "/var/www/html/demo02"
ServerName www.demo02.com
Errorlog "logs/www.demo02.com.error_log"
Customlog "logs/www.dmeo02.com.access_log" common
<Directory "/var/www/html">
Require all granted
</Directory>
</VirtualHost>
修改网页的主配置文件
vim /etc/httpd/conf/httpd.conf
开启服务,查看80端口状态
systemctl restart httpd
netstat -natp | grep httpd
最后,在win10浏览器验证