首页 > 代码库 > Apache虚拟主机配置

Apache虚拟主机配置

在一个Apache服务器上可以配置多个虚拟主机,实现一个服务器提供多站点服务,其实就是访问同一个服务器上的不同目录。Apache虚拟主机配置有3中方法:基于IP配置、基于域名配置和基于端口配置,这里介绍基于域名配置和基于端口配置,基于IP配置方法类似。

1. Apache基于域名配置虚拟主机:

  打开Apache安装目录下的配置文件conf/extra/httpd-vhosts.conf,添加如下配置信息:

  <VirtualHost _default_:80>

    DocumentRoot "D:/wamp/www"

    ServerName www.jtw.com

  </VirtualHost>

  <VirtualHost *:80>

       ServerAdmin 2504091004@qq.com

       DocumentRoot "D:/wamp/www2"

       ServerName www.wujuntian.com

       ErrorLog "logs/wujuntian.log"

       CustomLog "logs/wujuntian.log" common

      <Directory "D:/wamp/www2">

           Options Indexes FollowSymLinks MultiViews

           AllowOverride None

           Require all granted

      </Directory>

  </VirtualHost>

  这里配置了两个虚拟主机,其中第一个是默认虚拟主机,找不到虚拟主机的域名访问也由这个虚拟主机来提供服务。这两个主机使用的都是80端口,第一个虚拟主机指定域名为“www.jtw.com”,服务器目录为“D:/wamp/www”,第二个虚拟你主机指定域名为“www.wujuntian.com”,服务器目录为“D:/wamp/www2”。

  然后在Apache主配置文件conf/httpd.conf中包含这个配置文件:

  Include conf/extra/httpd-vhosts.conf

  最后重启Apache服务器,就可以通过访问两个不同的域名访问同一个服务器上的两个目录了。

  注意:如果只是在本地进行配置测试的话,需要在hosts文件中加入域名到本地IP地址的映射(hosts文件位置:C:\Windows\System32\drivers\etc):

  127.0.0.1       www.jtw.com

  127.0.0.1       www.wujuntian.com

 

2. Apache基于端口配置虚拟主机:

  首先在Apache配置文件conf/httpd.conf中修改配置让Apache服务器监听多个端口:

  Listen 8080

  Listen 80

  这里监听两个端口,配置两个虚拟主机。

  然后在配置文件conf/extra/httpd-vhosts.conf,添加如下配置信息:

  <VirtualHost _default_:80>

    DocumentRoot "D:/wamp/www"

  </VirtualHost>

  <VirtualHost *:8080>

       ServerAdmin 2504091004@qq.com

       DocumentRoot "D:/wamp/www2"

      <Directory "D:/wamp/www2">

           Options Indexes FollowSymLinks MultiViews

           AllowOverride None

           Require all granted

      </Directory>

  </VirtualHost>

  在Apache主配置文件conf/httpd.conf中包含这个配置文件:

  Include conf/extra/httpd-vhosts.conf

  最后重启Apache服务器,就可以通过同一个IP地址的不同端口来访问同一个服务器上的两个不同目录了。

  注意:Web服务器默认使用的是80端口,所以访问80端口的站点时可以不用加上“:80”,但是访问其他端口时必须带上端口号。

  在<VirtualHost></VirtualHost>段中的配置可以覆盖外面的配置。

Apache虚拟主机配置