构建虚拟Web主机(上) ------ 基于域名
一、了解web虚拟主机
虚拟Web主机指的是在同一台服务器中运行多个web站点,其中的每一个站点实际上并不独立占用整个服务器,因此被称为“虚拟”web主机,通过虚拟web主机服务可以充分利用服务器的硬件资源,从而大大降低网站构建的运行成本。
使用httpd可以非常充分的构建虚拟主机服务器,只需要运行一个httpd服务就能够同时支撑大量的web站点,httpd支持的虚拟主机类型包括以下三个类型:
(1)基于域名:为每个虚拟主机使用不同的域名,但是其对应的IP地址是相同的,例如,www.kgc.com和www.yun.com的站点IP都是173.17.17.11,这是使用最为普遍的虚拟web主机类型。
(2)基于IP地址:为每个虚拟主机使用不同的域名,且各自对应的IP地址也不相同,这种方式需要为服务器配多个网络接口,因此应用并不是很广泛。
(3)基于端口:这种方式并不使用域名、IP地址来区分不同的站点内容,而是使用不同的TCP端口号,因此用户在浏览不同的虚拟站点时需要同时指定端口号才能访问。
以上三种虚拟web主机中,基于域名的虚拟主机是现网中使用最为广泛的,同时由于不同类型的虚拟主机其区分机制各不相同,建议不要同时使用,以免相互混淆。
二、实验操作:
1、实验环境说明:
(1)两台虚拟机,一台linux作为服务器,一台win10作为客户机;
(2)linux添加两块网卡,IP地址分别是:192.168.220.131; 192.168.220.138
(3)实验目的:两个域名www.kgc.com;www.accp.com,都能解析到同一个ip地址192.168.220.131
2、实验步骤:
(1)第一步:安装httpd服务和dns服务,命令:yum install httpd bind -y
(2)第二步:修改DNS配置文件
1、将 /etc/named/conf 文件中,127.0.0.1和localhost 改为any
2、改区域配置文件:/etc/named.rfc1912.zones
3、修改区域数据配置文件:
- kgc.com.zone
- accp.com.zone
可以直接复制named.localhost文件,直接进去修改即可
在 accp.com.zone文件中,添加以下一行,作为域名解析,IP地址就是本服务器的ip地址
(3)第三步:开启DNS服务
(4)第四步:我们在客户机win10上测试一下,能否解析到两个域名
首先,我们要给win10指定dns服务器的地址(192.168.220.131),不然直接解析会解析到公网地址
我们可以发现,解析不同的域名得到的IP地址是相同的。
(5)第五步:搭建web网站
1、创建两个小网站,作为实验结果测试用,网站内容分别如下:
welcome accp web 和welcome kgc web
2、手写虚拟主机的配置文件
路径:/etc/httpd/conf
在这个文件中,创建一个名为extra的目录,再在这个目录下创建一个aaa.conf的配置文件
aaa.conf配置文件内容如下:
(6)第六步:在 /usr/local/httpd/conf/httpd.conf 文件中添加独立的配置文件,就是我们之前创建的aaa.conf,只有加载这个文件才能使功能生效。
(7)最后,重启服务即可
(8)第八步:我们在客户机win10上验证一下实验的结果,搜索域名能否访问到上面创建的网页。
综上,我们虚拟的web网站搭建就成功了。