使用不同的域名来区分不同的网站,所有的域名解析都指向同一个 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. Jmeter性能测试 入门--转载

    转载: Jmeter性能测试 入门 Jmeter是一款优秀的开源测试工具, 是每个资深测试工程师,必须掌握的测试工具,熟练使用Jmeter能大大提高工作效率. 熟练使用Jmeter后, 能用Jmete ...

  2. gamemakerstudio:鼠标输入

    标准鼠标输入常量: mb_left 按下鼠标左键 mb_middle 按下鼠标中键 (这可能不是在所有目标平台上都有效) mb_right 按下鼠标右键 mb_none 没有按下任何鼠标键 mb_an ...

  3. checkpoint(sqlserver数据库检查点)

    关于检查点的解释:   出于性能方面的考虑,数据库引擎对内存(缓冲区缓存)中的数据库页进行修改,但在每次更改后不将这些页写入磁盘.相反,数据库引擎定期发出对每个数据库的检查点命令.“检查点”将当前内存 ...

  4. 【NLP_Stanford课堂】语言模型1

    一.语言模型 旨在:给一个句子或一组词计算一个联合概率 作用: 机器翻译:用以区分翻译结果的好坏 拼写校正:某一个拼错的单词是这个单词的概率更大,所以校正 语音识别:语音识别出来是这个句子的概率更大 ...

  5. linux下使用第三方商店安装应用

    安装 snap store 进行下载,相当与第三方应用商店,但是往往比某一个官方软件源里面的应用要丰富或更实用 到 snap docs 中选择你的 linux 版本进入安装文档,根据指示一步一步安装即 ...

  6. June 09th 2017 Week 23rd Friday

    The supreme happiness of life is the conviction that we are loved. 生活中最大的幸福就是,坚信有人爱着我们. One of my go ...

  7. 原文:I don’t want to see another “using namespace xxx;” in a header file ever again

    http://stackoverflow.com/questions/5849457/using-namespace-in-c-headers http://stackoverflow.com/que ...

  8. MATLAB安装与注册(血泪总结)

    工具/原料   R2016a_win64.iso(安装文件) Matlab 2016a Win64 Crack.rar(破解文件) 方法/步骤   1 下载R2016a_win64.iso(安装文件) ...

  9. 给Retext进行配置:语法高亮、数学公式、自定义样式

    由于转到了Ubuntu下,本来在Windows平台下使用的一直是MarkdownPro2,而且进行了破解,十分好用.转到Ubuntu下后,MarkdownPro2不能够使用了,找了下Linux平台中的 ...

  10. 每天一个linux命令:df 命令

    linux中df命令的功能是用来检查linux服务器的文件系统的磁盘空间占用情况.可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息. 1.命令格式: df [选项] [文件] 2.命 ...