构建虚拟Web主机——基于域名解析

构建虚拟Web主机

虚拟Web主机指的是子同一台服务器中运行多个Web站点,其中的每一个站点实际上并不独自占用整个服务器,因此被称为“虚拟Web主机”。通过虚拟Web主机可以充分利用服务器的硬件资源,从而大大降低网站构建及运行成本。
使用httpd可以非常方便地构建虚拟主机服务器,只需要运行一个httpd服务就能够同时支撑大量的Web站点。httpd支持的虚拟机类型包括以下三种

  • 基于域名:为每个虚拟主机使用不同的域名,但是其对应的IP地址是相同。例如,www.kgc.com和wwwkcce.com站点的IP地址都是172.17.17.11。这是使用最为普遍的虚拟Web主机类型。
  • 基于IP地址:每个虚拟主机使用不同的域名,且各自对应的IP地址也不相同。这种方式需要为服务器配装备多个网络接口,因此应用并不是非常广泛。
  • 基于端口:这种方式并不是使用域名、IP地址来区分不同的站点内容,而是使用不同的TCP端口号,因此用户浏览器不同的虚拟站点时需要同时指定端口号才能访问。

实验环境

1、一台Linux主机(作为虚拟Web主机)
2、一台Window10主机(用来访问虚拟主机)

为虚拟主机提供域名解析

1、先给虚拟主机添加一个网卡,并保存NAT模式
构建虚拟Web主机——基于域名解析_第1张图片
2、安域实验所需要的DNS服务和Apache服务

[root@localhost ~]# yum install bind -y   //安装DNS服务
[root@localhost ~]# yum install httpd- y  //安装Apache服务

3、首先需要修改DNS的主配置文件、区域配置文件、区域数据配置文件

[root@localhost ~]# vim /etc/named.conf  //进入主配置文件

构建虚拟Web主机——基于域名解析_第2张图片

[root@localhost ~]# vim /etc/named.rfc1912.zones   //区域配置文件

构建虚拟Web主机——基于域名解析_第3张图片

[root@localhost named]# cp -p named.localhost accp.com.zone  //进入/named.loacal里复制一份模板给accp.com.zone
[root@localhost named]# vim accp.com.zone 
[root@localhost named]# cp -p accp.com.zone kgc.com.zone  //复制模板到kgc.com.zone 这个文件不需要修改

构建虚拟Web主机——基于域名解析_第4张图片
4、启动DNS服务并关闭防火墙和增强性安全功能,在Win10上进行

[root@localhost named]# systemctl start named  //启动DNS服务
[root@localhost named]# systemctl stop firewalld.service  //关闭防火墙
[root@localhost named]# setenforce 0  //增强性安全功能

5、将Win10的DNS地址更改为之前设置的DNS解析地址
构建虚拟Web主机——基于域名解析_第5张图片
6、使用nslookup命令通过域名解析到地址,说明DNS服务没有问题
构建虚拟Web主机——基于域名解析_第6张图片
7、接下来编辑Web主机的配置文件,建议使用独立的配置文件,进入Apache的配置文件里,在conf里创建extra目录,并创建独立的配置文件vhost.conf

[root@localhost ~]# cd /etc/httpd/  
[root@localhost httpd]# ls
conf  conf.d  conf.modules.d  logs  modules  run
[root@localhost httpd]# cd conf
[root@localhost extra]# mkdir extra
[root@localhost conf]# cd extra/
[root@localhost extra]# vim vhost.conf   //编辑独立配置文件
<Virtualhost *:80>    //设置目录访问权限
  DocumentRoot "/var/www/html/accp/"  //指定站点
  ServerName www.accp.com             //定义域名
  Errorlog "logs/www.accp.cpm.error_log"  //错误日志文件
  Customlog"logs/www.accp.com.access_log" common //访问日志文件
  <Directory "var/www/html"> //权限控制文件站点
    Require all granted   //访问权限(允许所有人访问)
  <Directory>
</VirtualHost>

<Virtualhost *:80>
  DocumentRoot "/var/www/html/kgc/"
  ServerName www.kgc.com
  Errorlog "logs/www.kgc.cpm.error_log"
  Customlog"logs/www.kgc.com.access_log" common
  <Directory "var/www/html">
    Require all granted
  <Directory>
</VirtualHost>

8、创建两个Web网站

[root@localhost extra]# vim vhost.conf  
[root@localhost extra]# cd /var/www/html/
[root@localhost html]# mkdir accp kgc
[root@localhost html]# cd accp
[root@localhost accp]# vim index.html

在这里插入图片描述

[root@localhost accp]# cd ../
[root@localhost html]# cd kgc
[root@localhost kgc]# vim index.html

在这里插入图片描述
9、在httpd的主配置文件中,添加上之前手写的独立配置使其生效

[root@localhost httpd]# cd conf 
[root@localhost conf]# vim httpd.conf 

在这里插入图片描述
10、重新启动服务

[root@localhost extra]# systemctl start httpd
[root@localhost extra]# systemctl start named

11、在Win10上验证实验结果,在浏览器上输入域名就可以解析出我们之前写的网站
构建虚拟Web主机——基于域名解析_第7张图片
构建虚拟Web主机——基于域名解析_第8张图片

你可能感兴趣的:(构建虚拟Web主机)