使用不同的域名来区分不同的网站,所有的域名解析都指向同一个 IP 地址。Apache通过在HTTP头中附带的 host参数来判断用户需要访问哪一个网站。

例如要在一台服务器上设置如下两个站点:

  • http://www.test1.com
  • http://www.test1.com

下面以CentOS 7.2系统为例,详细说明如何配置基于不同域名的Apache虚拟主机。

第一步:开启Apache的vhost模块

在 http.conf 配置文件中,找到下面的代码行,删除前面的 # 号,并开启这个 vhost 模块。

#LoadModule vhost_alias_module modules/mod_vhost_alias.so

第二步:在 Apache的配置文件夹下新建 vhost.conf,用以作为虚拟主机的配置文件

设默认情况下网站目录为 /webdata
根据实际情况添加以下的配置(放在同一个vhost.conf中):
 <VirtualHost  *:80>                         #监听80端口
ServerAdmin root@test1.com #网站管理员联系方式
DocumentRoot "/webdata/test1" #网站目录
ServerName www.test1.com #站点域名,用于识别不同的网站
ServerAlias test1.com #别名
ErrorLog "logs/test1-error.log" #错误日志路径
CustomLog "logs/test1-access.log" common #访问日志路径
</VirtualHost> <VirtualHost *:80> #监听80端口
ServerAdmin root@test2.com #网站管理员联系方式
DocumentRoot "/webdata/test2" #网站目录
ServerName www.test2.com #站点域名,用于识别不同的网站
ServerAlias test2.com #别名
ErrorLog "logs/test2-error.log" #错误日志路径
CustomLog "logs/test2-access.log" common #访问日志路径
</VirtualHost>

这里只配置了两份域名信息,服务器上有多少个网站,就配置多少份以上信息,并根据实际情况修改其中的内容。在 http.conf 文件中加入一行 Include /etc/httpd/conf/vhost.conf,将 vhost.conf 文件内容包含进来。

第三步:在/etc/hosts文件中将网站的域名绑定到本地环回地址上(在hosts文件末尾加入以下信息)

 127.0.0.1 www.test1.com
127.0.0.1 www.test2.com

第四步:重启

    使用 service httpd reload 命令重新加载配置文件,或使用 service httpd restart 命令重启 Apache 进程。
    最后把域名解析到服务器,不同域名成功访问了不同的网站内容。

下面以wampserver3.1.0为例说明在Windows本地配置多站点服务器

第一步:开启Apache的vhost模块

在 http.conf 配置文件中,找到下面的代码行,删除前面的 # 号,并开启这个 vhost 模块。

#LoadModule vhost_alias_module modules/mod_vhost_alias.so

第二步:在 Apache的配置文件夹下新建 vhost.conf,用以作为虚拟主机的配置文件。

设默认情况下网站目录为D:/wamp64/www/test1

根据实际情况添加以下的配置(放在同一个vhost.conf中):
 <VirtualHost  127.0.0.1:80>                 #监听80端口
ServerAdmin root@localhost.com #网站管理员联系方式
DocumentRoot "D:/wamp64/www/test1" #网站目录
ServerName 127.0.0.1 #站点域名,用于识别不同的网站
ServerAlias 127.0.0.1 #别名
ErrorLog "logs/test1-error.log" #错误日志路径
CustomLog "logs/test1-access.log" common #访问日志路径
</VirtualHost> <VirtualHost 127.0.0.2:80> #监听80端口
ServerAdmin root@test2.com #网站管理员联系方式
DocumentRoot "D:/wamp64/www/test2" #网站目录
ServerName 127.0.0.2 #站点域名,用于识别不同的网站
ErrorLog "logs/test2-error.log" #错误日志路径
CustomLog "logs/test2-access.log" common #访问日志路径
</VirtualHost>

这里只配置了两份域名信息,服务器上有多少个网站,就配置多少份以上信息,并根据实际情况修改其中的内容。在 http.conf 文件中加入一行 Include/etc/httpd/conf/vhost.conf,将 vhost.conf 文件内容包含进来。

第三步:重启服务器

在一台Apache服务器上创建多个站点(不同域名)的更多相关文章

  1. Linux:一台apache服务器上部署多个项目的apache配置

    第一步: 将代码取到/var/www/html目录下(此为默认目录,具体看apache的设置):该目录下可以放多个项目,如: [root@www html]# pwd/var/www/html[roo ...

  2. 在APACHE服务器上的访问方式上去除index.php

      在APACHE服务器上的访问方式上去除index.php   下面我说下 apache 下 ,如何 去掉URL 里面的 index.php 例如: 你原来的路径是: localhost/index ...

  3. 双节点(nginx+keepalived)为两台apache服务器提供负载均衡

    说明:本实验为双节点nginx为两台apache服务器提供负载均衡,本文不是做lvs,所以realserver不是配置在keepalived.conf而是在nginx的配置文件中upstream.此架 ...

  4. sqlserver2014两台不同服务器上数据库同步

    sqlserver2014两台不同服务器上数据库同步   同步了快一个月了,哈哈,因为途中比较麻烦,第一次,遇到烦的地方就停下了,今天终于同步成功了,哈哈,下面我就来介绍一下我实现两台数据库同步的过程 ...

  5. 在一台Linux服务器上安装多个MySQL实例(一)--使用mysqld_multi方式

    (一)MySQL多实例概述 实例是进程与内存的一个概述,所谓MySQL多实例,就是在服务器上启动多个相同的MySQL进程,运行在不同的端口(如3306,3307,3308),通过不同的端口对外提供服务 ...

  6. 在Apache服务器上安装SSL证书

    参考:链接 前提条件 1.您的Apache服务器上已经开启了443端口(HTTPS服务的默认端口) // 开通443端口 firewall-cmd --zone=public --add-port=4 ...

  7. 用rsync备份一台linux服务器上的数据

    rsync是安装完linux后都会自带的,在机器上运行rsync命令看是否有安装即可 备份到远程服务器 这里介绍的rsync的用途是备份一台linux服务器上的数据到另外一台机器 环境 将需要备份机器 ...

  8. 单节点nginx为两台apache服务器提供负载均衡

    需求:本实验为单节点nginx为两台apache服务器提供负载均衡,所有配置为最简单 1.初始化3台测试server,该关的关了 [root@host101 ~]# vim /etc/hosts 19 ...

  9. 安装VMware vSphere 的目的就是在一台物理服务器上安装很多很多的虚拟机

    版权声明:本文为博主原创文章,未经博主允许不得转载. 我们安装VMware vSphere 的目的就是在一台物理服务器上安装很多很多的虚拟机,我们可以通过VMware vSphere Client直接 ...

随机推荐

  1. conversion vs recommendation

    conversion vs recommendation: http://markdisomma.com/2011/06/16/conversation-vs-recommendation/

  2. Hive的运算和函数大全

    hive 常用运算 测试各种内置函数的快捷方法: 创建一个 dual 表 create table dual(id string); load 一个文件(只有一行内容:内容为一个空格)到 dual 表 ...

  3. 插上翅膀,让Excel飞起来——xlwings(二)

    在上一篇插上翅膀,让Excel飞起来——xlwings(一)中提到利用xlwings模块,用python操作Excel有如下的优点: xlwings能够非常方便的读写Excel文件中的数据,并且能够进 ...

  4. com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException 异常

    MySQL完整性约束破坏异常:com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException 在单向多对一关联关系 ...

  5. 【BZOJ4573】[ZJOI2016] 大森林(LCT)

    点此看题面 大致题意: 有\(n\)棵树,初始各有\(1\)个编号为\(1\)的节点,且其为生长节点.\(3\)种操作:将\([l,r]\)区间内的树增加一个新的编号的节点,修改\([l,r]\)区间 ...

  6. [19/03/17-星期日] 常用类_Calendar日历类&GregorianCalendar公历日历类

    一.概念 Calendar 类是一个抽象类,为我们提供了关于日期计算的相关功能,比如:年.月.日.时.分.秒的展示和计算. GregorianCalendar 是 Calendar 的一个具体子类,提 ...

  7. CentOS 7.1上安装.Net Core

    官方网站给出了几条命令: sudo yum install libunwind libicu curl -sSL -o dotnet.tar.gz https://go.microsoft.com/f ...

  8. SpringMVC学习记录六——异常定义和上传图片

    19       异常处理 19.1      异常处理思路 系统中异常包括两类:预期异常和运行时异常RuntimeException,前者通过捕获异常从而获取异常信息,后者主要通过规范代码开发.测试 ...

  9. MVC学习五:Razor布局页面 _ViewStart.cshtml

    如图: _ViewStart.cshtml就是MVC中的布局页面/模板页面. 用户访问流程图: 原理:先去执行Views文件夹下[_ViewStart.cshtml]页面,然后同级目录文件夹(上图中的 ...

  10. code First 三 Fluent API

    Entity Framework Fluent API用于配置域类以覆盖约定. 在实体框架6中,DbModelBuilder类充当Fluent API,我们可以使用它来配置许多不同的东西.它提供了比数 ...