阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Apache 配置多站点访问及二级域名配置

208次阅读
没有评论

共计 3191 个字符,预计需要花费 8 分钟才能阅读完成。

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

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

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

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

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

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

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

1. 在 host 文件(C:\Windows\System32\drivers\etc)中添加「127.0.0.1 自定义域名」

127.0.0.1    test.host.com

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

2. 在 httpd.conf 文件(C:\wamp64\bin\apache\apache2.4.17\conf)中添加

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:\wamp64\bin\apache\apache2.4.17\conf\extra)中所有内容,然后添加

<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.linuxidc.com)

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

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

Apache 访问控制权限

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

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

重启服务器

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

下面关于 LAMP 相关 的内容你可能也喜欢

LAMP 平台安装 Xcache 和 Memcached 加速网站运行  http://www.linuxidc.com/Linux/2015-06/118835.htm

CentOS 7 下搭建 LAMP 平台环境  http://www.linuxidc.com/Linux/2015-06/118818.htm

CentOS 6.5 系统安装配置 LAMP(Apache+PHP5+MySQL)服务器环境 http://www.linuxidc.com/Linux/2014-12/111030.htm

CentOS 7.2 yum 安装 LAMP 环境  http://www.linuxidc.com/Linux/2016-11/136766.htm

Ubuntu 14.04 配置 LAMP+phpMyAdmin PHP(5.5.9)开发环境  http://www.linuxidc.com/Linux/2014-10/107924.htm

Ubuntu 14.10 下安装 LAMP 服务图文详解  http://www.linuxidc.com/Linux/2014-12/110082.htm

LAMP 结合 NFS 构建小型博客站点  http://www.linuxidc.com/Linux/2015-08/121029.htm

CentOS7 下安装部署 LAMP 环境  http://www.linuxidc.com/Linux/2016-04/130653.htm

Ubuntu Server 14.04 LTS 下搭建 LAMP 环境图文详解  http://www.linuxidc.com/Linux/2016-12/138758.htm

CentOS 6.6 下安装 Apache 2.2.31 http://www.linuxidc.com/Linux/2017-02/140803.htm

Ubuntu Server 16.04 下配置 LAMP 环境 http://www.linuxidc.com/Linux/2016-12/138757.htm

Ubuntu 16.04 搭建 LAMP 开发环境 http://www.linuxidc.com/Linux/2016-10/136327.htm

Ubuntu 16.04 LTS 安装 Apache2+PHP7.0+MySQL+phpMyAdmin 图文详解  http://www.linuxidc.com/Linux/2017-02/140098.htm

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-03/141339.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计3191字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中