web网站部署与优化--虚拟主机的构建实操(基于域名的构建、基于端口的构建、基于IP地址的构建)

   日期:2020-08-07     浏览:95    评论:0    
核心提示:文章目录一、 虚拟主机概述二、 基于域名的虚拟主机2.1 构建虚拟主机步骤2.2 构建过程2.2.1 配置DNS服务器2.2.2 虚拟主机配置文件三、 基于端口的虚拟主机四、 基于IP地址的虚拟主机一、 虚拟主机概述虚拟 Web 主机指的是在同一台服务器中运行多个 Web 站点,其中每一个站点实际 上并不独立占用整个服务器,因此被称为“虚拟”Web 主机。通过虚拟 Web 主机服务可以充分利用服务器的硬件资源,从而大大降低网站构建及运行成本。使用 httpd 服务可以非常方便地构建虚拟主机服务器,只需

文章目录

  • 一、 虚拟主机概述
  • 二、 基于域名的虚拟主机
    • 2.1 构建虚拟主机步骤
    • 2.2 构建过程
      • 2.2.1 配置DNS服务器
      • 2.2.2 虚拟主机配置文件
  • 三、 基于端口的虚拟主机
  • 四、 基于IP地址的虚拟主机

一、 虚拟主机概述

虚拟 Web 主机指的是在同一台服务器中运行多个 Web 站点,其中每一个站点实际 上并不独立占用整个服务器,因此被称为“虚拟”Web 主机。通过虚拟 Web 主机服务可以充分利用服务器的硬件资源,从而大大降低网站构建及运行成本。

使用 httpd 服务可以非常方便地构建虚拟主机服务器,只需要运行一个 httpd 服务 就能够同时支撑大量的 Web 站点。

httpd 服务支持的虚拟主机类型包括以下三种。

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

二、 基于域名的虚拟主机

2.1 构建虚拟主机步骤

  1. 为虚拟主机提供域名解析
    首先需要 DNS 服务,以便访问其中任何一 个虚拟 Web 站点时,最终访问的都是同一个 IP 地址。
  2. 为虚拟主机准备网页文档
    为每个虚拟 Web 主机不同内容的首页文件。
  3. 添加虚拟主机配置
    自己新建一个虚拟主机配置文件,并在主配置文件中指明虚拟主机配置文件。
  4. 在客户机中访问虚拟 Web 主机
    在一台win10客户机中检验虚拟主机的结果

2.2 构建过程

2.2.1 配置DNS服务器

[root@localhost ~]# yum install httpd bind -y
[root@localhost ~]# vim /etc/named.conf   ##修改DNS主配置文件

修改DNS区域配置文件
[root@localhost ~]# vim /etc/named.rfc1912.zones 
zone "benet.com" IN {
        type master;
        file "benet.com.zone";
        allow-update { none; };
};

zone "benet01.com" IN {
        type master;
        file "benet01.com.zone";
        allow-update { none; };
};

[root@localhost ~]# cd /var/named/
[root@localhost named]# cp -p named.localhost benet.com.zone
$TTL 1D
@       IN SOA  benet.com. rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      benet.com.
        A       127.0.0.1
www IN  A       14.0.0.14
[root@localhost named]# cp -p benet.com.zone benet01.com.zone    ##因为是不同域名解析同一个IP地址,所以区域数据配置文件是一样的
[root@localhost named]# setenforce 0
[root@localhost named]# iptables -F
[root@localhost named]# systemctl start named


接下来在win10中进行测试DNS是否能够解析,在win10虚拟机中要将DNS地址设置为14.0.0.14

2.2.2 虚拟主机配置文件

[root@localhost named]# cd /etc/httpd/conf
[root@localhost conf]# mkdir extra
[root@localhost extra]# vim vhost.conf   ##虚拟主机的配置文件
<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>

<VirtualHost *:80>
   DocumentRoot "/var/www/html/benet01"
   ServerName www.benet01.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]# cd /var/www/html/
[root@localhost html]# mkdir benet benet01   ##为虚拟主机创建站点
[root@localhost html]# ls
benet  benet01
[root@localhost html]# cd benet
[root@localhost benet]# vim index.html    ##为benet创建一个网站首页
<h1>this is benet web </h1>
[root@localhost benet]# cd ../benet01/
[root@localhost benet01]# vim index.html   ##为benet01创建一个网站首页
<h1>this is benet01 web</h1>
[root@localhost benet01]# vim /etc/httpd/conf/httpd.conf
Listen 14.0.0.14:80   ##监听端口改为80
Include conf/extra/vhost.conf   ##在主配置文件中指明虚拟主机的配置文件
[root@localhost benet01]# systemctl restart httpd

接下来在win10中进行测试

三、 基于端口的虚拟主机

基于端口的虚拟主机通常只用于同一个 Web 站点,其针对的网站名称、IP地址往 往是相同的,但通过不同的 TCP 端口来提供访问不同网页内容的服务入口。通过多个 Listen 配置项来指定要监听的 TCP 端口号,每个虚拟 Web 主机的 VHost 配置中应同时指定 IP地址和端口号。

[root@localhost benet01]# vim /etc/httpd/conf/extra/vhost.conf   ##在之前基础域名的虚拟主机配置文件中加入以下内容
<VirtualHost *:8080>
   DocumentRoot "/var/www/html/benet02"
   ServerName www.benet02.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 benet01]# cd /var/www/html/
[root@localhost html]# ls
benet  benet01
[root@localhost html]# mkdir benet02
[root@localhost html]# cd benet02
[root@localhost benet02]# vim index.html   ##为benet02创建一个网页首页
<h1>this is benet02 web</h1>
[root@localhost benet02]# vim /etc/httpd/conf/httpd.conf 
[root@localhost benet02]# systemctl restart httpd


在win10中进行测试

四、 基于IP地址的虚拟主机

基础IP地址的要把域名给去掉,其余的设置与上面的两种类似
[root@localhost ~]# cd /etc/httpd/conf/extra  
[root@localhost extra]# vim vhost.conf 
<VirtualHost 14.0.0.14:80>
   DocumentRoot "/var/www/html/benet"
   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 14.0.0.110:80>
   DocumentRoot "/var/www/html/benet03"
   ErrorLog "logs/www.benet03.com.error_log"
   CustomLog "logs/www.benet03.com.access_log" common
   <Directory "/var/www/html">
      Require all granted
   </Directory>
</VirtualHost>
[root@localhost extra]# mkdir /var/www/html/benet03   ##创建benet03的站点目录
[root@localhost extra]# vim /var/www/html/benet03/index.html    ##创建一个网页首页
<h1>this is benet03 web</h1>
[root@localhost extra]# vim /etc/httpd/conf/httpd.conf

[root@localhost extra]# systemctl restart httpd

在win10中进行测试

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服