在一台Apache服务器上创建多个站点(不同域名)

Posted lizongfu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在一台Apache服务器上创建多个站点(不同域名)相关的知识,希望对你有一定的参考价值。

    使用不同的域名来区分不同的网站,所有的域名解析都指向同一个 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中):
 1 <VirtualHost  *:80>                         #监听80端口
 2 ServerAdmin  [email protected]                 #网站管理员联系方式
 3 DocumentRoot  "/webdata/test1"              #网站目录
 4 ServerName  www.test1.com                   #站点域名,用于识别不同的网站
 5 ServerAlias  test1.com                      #别名
 6 ErrorLog  "logs/test1-error.log"            #错误日志路径
 7 CustomLog  "logs/test1-access.log" common   #访问日志路径
 8 </VirtualHost>
 9 
10 <VirtualHost  *:80>                         #监听80端口
11 ServerAdmin  [email protected]                 #网站管理员联系方式
12 DocumentRoot  "/webdata/test2"              #网站目录
13 ServerName  www.test2.com                   #站点域名,用于识别不同的网站
14 ServerAlias  test2.com                      #别名
15 ErrorLog  "logs/test2-error.log"            #错误日志路径
16 CustomLog  "logs/test2-access.log" common   #访问日志路径
17 </VirtualHost>
    这里只配置了两份域名信息,服务器上有多少个网站,就配置多少份以上信息,并根据实际情况修改其中的内容。http.conf 文件中加入一行 Include /etc/httpd/conf/vhost.conf,将 vhost.conf 文件内容包含进来。

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

1 127.0.0.1 www.test1.com
2 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中):
 1 <VirtualHost  127.0.0.1:80>                 #监听80端口
 2 ServerAdmin  [email protected]             #网站管理员联系方式
 3 DocumentRoot  "D:/wamp64/www/test1"         #网站目录
 4 ServerName  127.0.0.1                       #站点域名,用于识别不同的网站
 5 ServerAlias  127.0.0.1                      #别名
 6 ErrorLog  "logs/test1-error.log"            #错误日志路径
 7 CustomLog  "logs/test1-access.log" common   #访问日志路径
 8 </VirtualHost>
 9 
10 <VirtualHost  127.0.0.2:80>                 #监听80端口
11 ServerAdmin  [email protected]                 #网站管理员联系方式
12 DocumentRoot   "D:/wamp64/www/test2"        #网站目录
13 ServerName  127.0.0.2                       #站点域名,用于识别不同的网站
14 ErrorLog   "logs/test2-error.log"           #错误日志路径
15 CustomLog   "logs/test2-access.log" common  #访问日志路径
16 </VirtualHost>
这里只配置了两份域名信息,服务器上有多少个网站,就配置多少份以上信息,并根据实际情况修改其中的内容。http.conf 文件中加入一行 Include/etc/httpd/conf/vhost.conf,将 vhost.conf 文件内容包含进来。

第三步:重启服务器

以上是关于在一台Apache服务器上创建多个站点(不同域名)的主要内容,如果未能解决你的问题,请参考以下文章

配置apache虚拟主机,实现在一台服务器上运行多个网站

在一台 apache 服务器上设置多个 IP 地址

Nginx部署多个站点

宝塔面板+djiango+mod wsgi +apache 配置多项目站点

Apache多站点实现原理

怎样在一台服务器上面建多个网站并绑定多个不同域名