zoukankan      html  css  js  c++  java
  • web主机构建的三种方式

    一、虚拟web主机的类型

    1、虚拟 Web 主机介绍

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

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

    2、apache服务支持的三种虚拟web主机类型

    2.1、基于域名的类型

    基于域名:为每个虚拟主机使用不同的域名,但是其对应的 IP 地址是相同的。这是使用最为普遍的虚拟 Web 主机类型。

    2.2、基于IP地址的类型

    基于 IP 地址:为每个虚拟主机使用不同的域名,且各自对应的 IP 地址也不相同。 这种方式需要为服务器配备多个网络接口,因此应用并不是非常广泛。

    2.3、基于端口的类型

    基于端口:这种方式并不使用域名、IP地址来区分不同的站点内容,而是使用了不同的 TCP 端口号,因此用户在浏览不同的虚拟站点时需要同时指定端口号才能访问。

    注:因为不同类型的虚拟主机其区分机制各不相同,建议不要同时使用,以免相互混淆。

    二、构建基于域名的虚拟web主机

    1、提供域名解析

    首先需要向 DNS 服务提供商注册各虚拟 Web 站点的域名,以便当访问其中任何一 个虚拟 Web 站点时,最终访问的都是同一个 IP 地址——实际支撑所有虚拟 Web 站点 的服务器的 IP 地址。

    假设我们有两个域名www.wlm.com、www.wat.com。对用应的IP地址为20.0.0.58。我们可以将两个域名作为apache服务的两个虚拟的web站点同时对应一个IP地址20.0.0.58。

    2、准备网页文档

    为每个虚拟 Web 主机准备网站目录及网页文档。分别为每个虚拟 Web 主机提供包含不同内容的首页文件。

    [root@localhost ~]# mkdir -p /var/www/html/wlmcom
    [root@localhost ~]# mkdir -p /var/www/html/watcom
    [root@localhost opt]# echo "<h1>www.wlm  web1</h1>" > /var/www/html/wlm/index.html
    [root@localhost opt]# echo "<h1>www.wat  web2</h1>" > /var/www/html/wat/index.html
    
    3、更改配置文件

    在 apache服务的主配置文件中,若要启用基于域名的虚拟 Web 主机,通常需要更改以下两个区域

    • 虚拟主机区域配置:使用<VirtualHost 监听地址>……区域配置,为每一 个虚拟 Web 主机建立独立的配置内容。其中至少应包括虚拟主机的网站名称、网 页根目录的配置项;其他(如管理邮箱、访问日志等)配置项可根据实际需要添加。

    • 访问网页根目录的权限配置:使用<Directory 目录位置>……区域配置,为每一个虚拟 Web 主机的网站目录设置访问权限,如允许任何人访问。目录访问可以继承其父目录的授权许可,因此可以采取直接为父文件夹授权访问权限的方法来简化配置。 当虚拟 Web 主机的数量较多时,建议使用独立的虚拟主机配置文件。

    [root@localhost opt]# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf 
    .......                  //省略部分信息
      //可在此位置手动创建独立的访问目录权限                            
    <VirtualHost *:80>           //设置域名 www.wlm.com 虚拟站点区域
        DocumentRoot "/var/www/html/wlm"    //服务访问域名网页的路径
        ServerName www.wlm.com      //服务访问的域名
        ErrorLog "logs/www.wlm.com.error_log"      //错误访问日志存放路径
        CustomLog "logs/www.wel.com.access_log" common      //访问日志存放路径
            <Directory "/var/www/html">        //设置目录访问权限
            Require all granted              //允许所有访问
            </Directory>
    </VirtualHost>
    
    <VirtualHost *:80>    //设置域名 www.wlm.com 虚拟站点区域。
        DocumentRoot "/var/www/html/wat"    //服务访问域名网页的路径
        ServerName www.wat.com    //服务访问的域名
        ErrorLog "logs/www.wat.com.error_log"     //错误访问日志存放路径
        CustomLog "logs/www.wat.com.access_log" common   //访问日志存放路径
            <Directory "/var/www/html">     //设置目录访问权限
            Require all granted   //允许所有访问
            </Directory>
    </VirtualHost>
    

    然后在 httpd.conf 文件中通过开启 “Include conf/extra/httpd-vhosts.conf”加载这些配置。这样可以将对 httpd.conf 文件的改动减至最少,更方便配置内容的维护。

    [root@localhost opt]# vim /usr/local/httpd/conf/httpd.conf 
    .......                  //省略部分信息
    Include conf/extra/httpd-vhosts.conf //加载独立的配置文件,将行首的 "#" 删除
    .......                  //省略部分信息
    [root@localhost opt]# systemctl restart httpd   //重启httpd服务
    
    4、客户机访问虚拟的web主机

    首先,在客户机的hosts文件中加入dns域名的映射,再在客户机的浏览器中,使用网站名称分别访问不同的域名,能够看到之前设定的网页内容,此时表示基于域名的虚拟主机配置成功。若无法看到此结果,则需要检查两个站点的首页文件,根据上述过程排查配置错误,必要时清空浏览器缓存后重新访问。

    Linux的hosts文件路径为:/etc/hosts  
    20.0.0.58    www.wlm.com      //添加内容
    20.0.0.58    www.wat.com
    window的hosts文件路径为:C:WindowsSystem32driversetchosts
    20.0.0.58    www.wlm.com         //添加内容
    20.0.0.58    www.wat.com
    

    测试结果显示:
    域名为www.wlm.com的测试页

     

     

    三、构建基于IP地址的虚拟web主机

    构建基于 IP 地址或基于端口的虚拟主机的过程与基于域名的虚拟主机类似,也需要先提供域名解析、准备网页文档,再调整 httpd 配置、重启 httpd 服务,然后在客户 机中访问虚拟主机进行测试。其中最主要的区别是,不同类型的虚拟主机在 httpd.conf 文件中的配置内容略有不同。

    对于基于 IP 地址的虚拟主机,每个虚拟 Web 主机各自使用不同的 IP 地址,但是 都通过同一台 httpd 服务器对外提供 Web 浏览服务。正因为如此,用来支撑这些虚拟 Web 主机的服务器也就需要有大量的网络接口,这在实际应用中往往不太方便,所以 基于 IP 地址的虚拟主机并不像基于域名虚拟主机那样应用广泛。

    更改httpd.conf文件配置

    [root@localhost opt]# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf 
    .......                  //省略部分信息
      //可在此位置手动创建独立的访问目录权限                            
    <VirtualHost 20.0.0.58>           //基于20.0.0.58IP的虚拟web主机配置
        DocumentRoot "/var/www/html/wlm"    //服务访问域名网页的路径
        ServerName www.wlm.com      //服务访问的域名
        ErrorLog "logs/www.wlm.com.error_log"      //错误访问日志存放路径
        CustomLog "logs/www.wel.com.access_log" common      //访问日志存放路径
            <Directory "/var/www/html">        //设置目录访问权限
            Require all granted              //允许所有访问
            </Directory>
    </VirtualHost>
    
    <VirtualHost 20.0.0.55>    //基于20.0.0.55的虚拟web主机的配置
        DocumentRoot "/var/www/html/wat"    //服务访问域名网页的路径
        ServerName www.wat.com    //服务访问的域名
        ErrorLog "logs/www.wat.com.error_log"     //错误访问日志存放路径
        CustomLog "logs/www.wat.com.access_log" common   //访问日志存放路径
            <Directory "/var/www/html">     //设置目录访问权限
            Require all granted   //允许所有访问
            </Directory>
    </VirtualHost>
    [root@localhost opt]# vim /usr/local/httpd/conf/httpd.conf 
    .......                  //省略部分信息
    Include conf/extra/httpd-vhosts.conf //加载独立的配置文件,将行首的 "#" 删除
    .......                  //省略部分信息
    [root@localhost opt]# systemctl restart httpd   //重启httpd服务
    

     

    四、构建基于端口的虚拟web主机

    基于端口的虚拟主机通常只用于同一个 Web 站点,其针对的网站名称、IP 地址往 往是相同的,但通过不同的 TCP 端口来提供访问不同网页内容的服务入口。在浏览器 中访问非 80 端口的 Web 服务器时,需要明确指出服务器的端口号,如访问 http://www.wat.com:55/或http://20.0.0.58.55/。

    [root@localhost opt]# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf 
    <VirtualHost 20.0.0.58:80>    //基于80端口的虚拟web主机配置
        DocumentRoot "/var/www/html/wlm"
        ServerName www.wlm.com
        ErrorLog "logs/www.wlm.com.error_log"
        CustomLog "logs/www.wel.com.access_log" common
            <Directory "/var/www/html">
            Require all granted
            </Directory>
    </VirtualHost>
    
    <VirtualHost 20.0.0.58:55>   //基于55端口的web主机配置
        DocumentRoot "/var/www/html/wat"
        ServerName www.wat.com
        ErrorLog "logs/www.wat.com.error_log"
        CustomLog "logs/www.wat.com.access_log" common
            <Directory "/var/www/html">
            Require all granted
            </Directory>
    </VirtualHost>
    

    配置基于端口的虚拟 Web 主机时,要通过多个 Listen 配置项来指定要监听的 TCP 端口号,需要更改httpd.conf配置文件。  

    [root@localhost ~]# vim /usr/local/httpd/conf/httpd.conf   //编辑配置文件
    // 使用vim编辑器末行模式/搜索Listen 80服务器默认监听的端口,在其下一行添加配置
    .......                  //省略部分信息
    Listen 80
    Listen 55     //添加监听55端口
    .......                  //省略部分信息
    Include conf/extra/httpd-vhosts.conf //加载独立的配置文件,将行首的 "#" 删除
    .......                  //省略部分信息
    [root@localhost opt]# systemctl restart httpd   //重启httpd服务
    

      

      

     

      

      

  • 相关阅读:
    oracle学习篇十:序列
    oracle学习篇九:同义词
    oracle相关常识
    oracle之数据同步:Oracle Sql Loader使用说明(大批量快速插入数据库记录)
    oracle学习篇八:约束
    oracle学习篇七:更新操作、事务处理
    oracle学习篇六:子查询
    oracle学习篇五:组函数,分组统计
    oracle学习篇四:多表查询
    oracle学习篇三:SQL查询
  • 原文地址:https://www.cnblogs.com/tianzhendengni/p/13928807.html
Copyright © 2011-2022 走看看