企业平台架构--构建虚拟主机(基于域名,基于端口,基于ip)三种实例配置

一:构建虚拟主机

1.1:虚拟主机概述

  • 在同一台服务器中运行多个web站点,其中每一个站点并不独立占用一台真正的计算机
  • 通过虚拟web主机可以充分利用服务器的硬件资源,从而大大降低网站构建及运行成本
  • 使用httpd可以非常方便的构建虚拟主机服务器,只需要运行一个httpd服务就能够同时支撑大量的web站点

1.2:httpd支持的虚拟主机类型

  • 基于域名
    • 为每个虚拟主机使用不同的域名,但是其对应的IP地址使相同的
    • 域名不同–IP相同,端口相同
    • 基于域名是最为普遍的虚拟web主机类型
  • 基于IP地址
    • 为每个虚拟主机使用不同的域名,且各自对应的IP地址也不相同
    • 这种方式需要为服务器配备多个网络接口,因此应用不是很广泛
    • IP不同,端口相同
  • 基于端口
    • 这种方式并不使用域名,IP地址来区分不同的站点内容,而是使用不同的TCP端口号
    • 因此用户在浏览不同的虚拟站点时需要同时制定端口号才能访问
    • IP相同,端口不同

1.3:添加虚拟主机配置格式

[root@localhost ~]# vim /etc/http/conf/xxx/vhost.conf
 1 <VirtualHost *:80>						'针对本服务器所有IP地址'
  2   DocumentRoot "/var/www/html/xxx"		'指定站点目录'
  3   ServerName www.xxx.com				'指定域名'
  4   Errorlog "logs/www.xxx.com.error_log"	    '指定错误日志路径'
  5   Customlog "logs/www.xxx.com.access_log" common	'指定访问日志路径'
  6   <Directory> "/var/www/html">
  7         Require all granted		'设置网页允许所有主机访问,也可以通过denied设置拒绝访问'
  8   </Directory>
  9 </VirtualHost>

1.4:构建虚拟主机–基于域名实例演示

1.4.1:实验环境

  • VMware软件
  • 一台Windows虚拟机,IP地址为20.0.0.50
  • 一台centos7虚拟机,IP地址为20.0.0.47
  • centos7安装bind和httpd服务
[root@localhost ~]# yum install bind httpd -y 

1.4.2:实验目的

在Windows虚拟机浏览器中访问这两个域名时,分别显示不同的内容

1.4.3:为虚拟主机提供域名解析

  • 关闭防火墙,修改httpd的主配置文件
  [root@localhost ~]# systemctl stop firewalld.service 
  [root@localhost ~]# setenforce 0
  [root@localhost ~]# vim /etc/named.conf 
  ...省略内容
      options {
          listen-on port 53 { any; };				'修改为any'
          ...省略内容
          allow-query     { any; };				'修改为any'
  ...省略内容
  • 编辑区域配置文件
[root@localhost ~]# vim /etc/named.rfc1912.zones 
'添加一下两端内容'    
...省略内容
zone "kevin.com" IN {
        type master;        
        file "kevin.com.zone";
        allow-update { none; };
};

zone "benet.com" IN {
        type master;
        file "benet.com.zone";
        allow-update { none; };
};
  • 编辑区域数据文件
[root@localhost yum.repos.d]# cd /var/named/
[root@localhost named]# ls
data     named.ca     named.localhost  slaves
dynamic  named.empty  named.loopback
[root@localhost named]# cp -p named.localhost kevin.com.zone
[root@localhost named]# vim kevin.com.zone
...省略内容
'删除最后一行,添加下面一行'
www IN  A       20.0.0.47
[root@localhost named]# cp -p kevin.com.zone benet.com.zone
  • 开启服务
[root@localhost named]# systemctl start named
  • 测试
    在这里插入图片描述

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gTA4ZC3j-1596549299730)(C:\Users\kevin\AppData\Roaming\Typora\typora-user-images\image-20200804191911671.png)]

1.4.4:配置httpd服务

  • 创建站点,并添加虚拟主机配置
[root@localhost named]# cd /etc/httpd/conf 
[root@localhost conf]# ls 
httpd.conf  magic 
[root@localhost conf]# mkdir extra
[root@localhost conf]# cd extra/
[root@localhost extra]# vim vhost.conf
<VirtualHost *:80>
        DocumentRoot "/var/www/html/kevin"
        ServerName www.kevin.com
        Errorlog "logs/www.kevin.com.error_log"
        CustomLog "logs/www.kevin.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@localhost extra]# cd /var/www/html/
[root@localhost html]# ls
[root@localhost html]# vim benet/index.html 
<h1>this is benet</h1>
[root@localhost html]# vim kgc/index.html
<h1>this is kevin</h1>
  • 编辑httpd主配置文件,添加虚拟主机站点并开启httpd服务
[root@localhost html]# vim /etc/httpd/conf/httpd.conf 
Include conf/extra/vhost.conf
[root@localhost html]# systemctl start httpd
[root@localhost html]# iptables F
[root@localhost html]# setenforce 0
  • 测试

在这里插入图片描述

在这里插入图片描述

1.5:构建虚拟主机–基于端口实例演示

1.5.1:环境准备

在上一个实验的环境下进行

1.5.2:实验目的

在浏览器中访问不同端口,显示不同内容

1.5.3:配置httpd服务

  • 配置虚拟主机配置,并配置网页文档
[root@localhost html]# cd /etc/httpd/conf
[root@localhost conf]# ls
extra  httpd.conf  magic
[root@localhost conf]# cd extra/
[root@localhost extra]# ls
vhost.conf
[root@localhost extra]# vim vhost.conf 
'添加以下内容,与上一个80端口做对比'
<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@localhost extra]# mkdir /var/www/html/benet01
[root@localhost extra]# vim /var/www/html/benet01/index.html
<h1>this is benet01</h1>
  • 修改监听地址并重启httpd服务
[root@localhost extra]# vim /etc/httpd/conf/httpd.conf 
Listen 20.0.0.47:80
Listen 20.0.0.47:8080	    '找到监听地址,开启IPv4监听,设置监听地址,添加一个8080端口的监听地址'
#Listen 80	                '关闭IPv6监听'
[root@localhost extra]# systemctl restart httpd.service 
  • 测试

在这里插入图片描述

1.6:构建虚拟主机–基于不同IP实例演示

1.6.1:环境准备

在上一个实验环境下进行,并添加一块网卡
在这里插入图片描述

  • 修改第二张网卡信息

在这里插入图片描述

1.6.2:实验目的

  • 在浏览器访问两个IP时,分别显示不同的内容

1.6.3:配置httpd服务

  • 配置虚拟主机,并配置网页文档
[root@localhost extra]# vim vhost.conf 
<VirtualHost 20.0.0.47:80>
           DocumentRoot "/var/www/html/kevin"
           Errorlog "logs/www.kevin.com.error_log"
           CustomLog "logs/www.kevin.com.access_log" common
           <Directory> "/var/www/html">
                   Require all granted
           </Directory>
   </VirtualHost>
   
  <VirtualHost 20.0.0.48:80>
          DocumentRoot "/var/www/html/kevin01"
         Errorlog "logs/www.kevin01.com.error_log"
          CustomLog "logs/www.kevin01.com.access_log" common
          <Directory> "/var/www/html">
                  Require all granted
          </Directory>
  </VirtualHost>
[root@localhost extra]# mkdir /var/www/html/kevin01
[root@localhost extra]# vim /var/www/html/kevin01/index.html
<h1>this is kevin01</h1>
  • 修改监听地址并重启httpd服务
[root@localhost extra]# vim /etc/httpd/conf/httpd.conf 
Listen 20.0.0.47:80
Listen 20.0.0.48:80
#Listen 80
[root@localhost extra]# systemctl restart httpd.service
  • 测试
    在这里插入图片描述
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值