zoukankan      html  css  js  c++  java
  • Apache 配置多站点访问「为项目分配二级域名」

    一级域名(baidu.com)也叫作顶级域名,注册一级域名是需要付费的。

    而二级域名(image.baidu.com)是一级域名的延伸,所以只要购买了一级域名,二级域名是可以任意配置的。

    其实(www.baidu.com)也是二级域名,只是大家已经习惯使用www为前缀的二级域名作为网站的主域名而已。

    通过DNS解析服务商,可以为每个二级域名绑定不同的主机IP,这样即使只有一个主域名也可以架设多个网站了。

    如果你只有一台主机,并且要在上面建立多个项目,还得通过子域名的方式访问,那么你需要配置 Apache 才行。

    ===================配置本地域名=====================

    如果仅仅是作为本地访问,只需要配置 hosts 和 httpd.conf 即可

    1.在 host 文件(C:WindowsSystem32driversetc)中添加「127.0.0.1 自定义域名」

    127.0.0.1    test.host.com

    通过上面的步骤,就可以使用 test.host.com 来访问本地服务器了。不过仅仅只做这些微薄的工作,服务器是不会知道 localhost 和 test.host.com 的区别的。所以还需要为 Apache 配置虚拟主机,让其为不同的域名请求分配不同的处理路径。

    2.在 httpd.conf 文件(C:wamp64inapacheapache2.4.17conf)中添加

    NameVirtualHost *:80
    <VirtualHost test.host.com:80>
        DocumentRoot "C:/Users/Administrator/Desktop/test"
        ServerName test.host.com
        <Directory "C:/Users/Administrator/Desktop/test">
            Require local
        </Directory>
    </VirtualHost> 

    在这一步中你需要将 DocumentRoot(项目路径)和 ServerName(自定义域名)修改成你自己的。Directory 是用户可以访问的目录,和项目路径保持一致就行。注意 Directory 中的参数 Require local,它的意思是只允许本地访问,如果你把它改成 Require all granted,那么任何人都可以访问这个目录了。

    ==================分配网站域名=====================

    如果是打算部署在实际的项目中,那么情况会相对麻烦些,不过思想仍然是将所有二级域名请求都交给同一服务器处理,然后通过虚拟主机为不同的域名请求分配不同的处理路径。

    1.通过云解析服务商为主域名分配子域名,再为子域名绑定主机IP。

    2.修改 httpd.conf 文件,去掉 Include conf/extra/httpd-vhosts.conf 前面的注释。

    3.注释 httpd-vhosts.conf 文件(C:wamp64inapacheapache2.4.17confextra)中所有内容,然后添加

    <Directory />
        AllowOverride all
        Require all granted
    </Directory>
    
    NameVirtualHost *:80
    
    <VirtualHost *:80>
      ServerAdmin 「管理员邮箱」
      DocumentRoot 「项目根目录」
      ServerName 「二级域名」
      ServerAlias 「域名别名」
      ErrorLog 「错误日志」
      CustomLog 「访问日志」
    </VirtualHost>

    Directory 标签用于给所有目录设置访问权限

      AllowOverride all 允许 .htaccess 对URL进行重写 / AllowOverride none 忽略 .htaccess 文件

      Require all granted 允许外部访问 / Require all denied 禁止外部访问

    NameVirtualHost 是固定形式,用于使 VirtualHost 标签生效

    VirtualHost 标签用于为二级域名绑定虚拟主机

      每一个二级域名对应一个 VirtualHost 标签,有多少二级域名,就需要多少个 VirtualHost 标签

      DocumentRoot 和 ServerName 是必填项,其余可选

    注意:由于 www 域名属于特殊的二级域名,所以它也需要在 httpd-vhosts.conf 文件中注册

    ==================注意事项======================

    二级域名定义规则

      www:网站的主入口(www.baidu.com)

      mail:通常用于解析邮箱服务器(mail.baidu.com)

      m:用于手机网站的域名(m.baidu.com)

    Apache 访问控制权限

      2.2 版本允许所有请求:Order allow,deny #排序,先允许后拒绝 Allow from all #允许所有

      2.4 版本允许所有请求:Require all granted #允许所有

    重启服务器

      修改完 Apache 的配置文件后,必须重启服务器配置才能生效

  • 相关阅读:
    中途接手一个项目时候,需要注意
    PPT做交互效果
    hyperledger学习资料
    k8s拾遗
    Day0-3. 部署docker镜像私有仓库harbor
    Day0-2. Docker安装部署
    Day0-1. Docker环境准备
    【转载】轻量级HTTP服务器Nginx(Nginx性能优化技巧)
    使用nginx-module-vts监控各虚拟主机的流量
    Linux系统下终端proxy代理配置
  • 原文地址:https://www.cnblogs.com/woider/p/6214387.html
Copyright © 2011-2022 走看看