配置多个虚拟主机

原文:http://www.cnblogs.com/catprayer/archive/2010/10/30/1865308.html

如何使用 Apache 在本地配置出多个虚拟主机呢?而且使用不同的“域名”来访问本地不同的站点呢?

一般情况下,咱们都使用 localhost 来访问本机上的服务器,在我们的 C:/WINDOWS/system32/drivers/etc/hosts 文件中默认有一个:

  1. 127.0.0.1       localhost  

当我们在浏览器地址栏键入:

  1. http://localhost  

的时候,会显示出服务器根目录中的许多文件夹(若你的根目录不是只有一个站点的话),就像:


  1. Index of /  
  2.   
  3.     * BAK/  
  4.     * B_Discuz/  
  5.     * B_Supesite/  
  6.     * B_UCenter/  
  7.     * B_Uchome/  
  8.     * B_Uchome_Bak/  
  9.     * B_XSpace/  
  10.     * DiscuZ_X1/  
  11.     * Javascript/  
  12.     * NewUch/  
  13.     * PHP/  
  14.     * UchUtf8/  
  15.     * Zend Framework_1.10.8/  
  16.     * Zendphpweb20/  
  17.     * mycms/  
  18.     * phpMyAdmin/  
  19.     * userAdminManager/  

现在我想通过一个自定义的“域名”来访问我的根目录中的站点,譬如:

1,根目录中有一个 phpMyAdmin/ 的文件夹(倒数第二个),它是一个网页版的数据库管理系统(肯定不会陌生的吧!),我想通过访问一个简单的:

来进入这个系统(而不用输入 localhost,再点击 phpMyAdmin/ 才进入);

2,根目录中有一个 Zendphpweb20/ 的文件夹(倒数第三个),它只是一个本地应用站点,我想通过访问:

来进入这个本地站点;

现在要干些什么呢?跟我来吧!看下面:

1> 修改系统的 hosts 文件:

打开之前说过的系统的 hosts 文件,来给我们的电脑添加两个“假的”DNS 项,加入代码:

127.0.0.2       dbmanager
127.0.0.3       phpweb20

这样,我们的浏览器就会将 dbmanager 主机名解析为 127.0.0.2,将 phpweb20 主机名解析为 127.0.0.3。

2> 修改 Apache 配置文件:

在我的本机内 Apache 的主配置文件在:

D:/usr/local/apache2/conf/httpd.conf

说是修改 Apache 的配置文件,其实只是添加了一些内容,因为不想修改 Apache 的主配置文件,所以我们最好在各个站点写好自己的虚拟主机配置子文件,然后使用 Include 指令将其包含到 Apache 的主配置文件里。

其实在 Apache 的主配置文件的最下方有虚拟主机的配置示例,只不过都被注释掉了:

# 基于名称的虚拟主机示例:
 
  1. #<VirtualHost127.0.0.2:80>  
  2.  #   ServerAdmin admin@system  
  3.  #   DocumentRoot D:\usr\webroot\webhosting1  
  4.  #   ServerName 127.0.0.2  
  5.  #   ErrorLog logs/dummy-host.example.com-error_log  
  6.  #  CustomLog logs/dummy-host.example.com-access_log common  
  7. #</VirtualHost>  
  8.   
  9. #<VirtualHost127.0.0.3:80>  
  10.  #   ServerAdmin admin@system  
  11.  #   DocumentRoot D:\usr\webroot\webhosting2  
  12.  #   ServerName 127.0.0.3  
  13.  #   ErrorLog logs/dummy-host.example.com-error_log  
  14.  #  CustomLog logs/dummy-host.example.com-access_log common  
  15. #</VirtualHost>  
  16.   
  17. #<VirtualHost127.0.0.4:80>  
  18.  #   ServerAdmin admin@system  
  19.  #   DocumentRoot D:\usr\webroot\webhosting3  
  20.  #   ServerName 127.0.0.4  
  21.  #   ErrorLog logs/dummy-host.example.com-error_log  
  22.  #  CustomLog logs/dummy-host.example.com-access_log common  
  23. #</VirtualHost>  

在配置文件的最下方添加代码:

# 包含 dbmanager 虚拟主机配置文件
Include D:/usr/webroot/phpMyAdmin/httpd.conf
 
# 包含 phpweb20 虚拟主机配置文件
Include D:/usr/webroot/Zendphpweb20/httpd.conf

(我的 localhost 的根目录为 D:/usr/webroot/)

3> 创建各个虚拟主机的子配置文件:

创建 dbmanager 的配置文件:D:/usr/webroot/phpMyAdmin/httpd.conf

#dbmanager 虚拟主机设置
  1. <VirtualHost127.0.0.2:80>  
  2.     ServerName dbmanager  
  3.     DocumentRoot D:/usr/webroot/phpMyAdmin  
  4.   
  5.     <DirectoryD:/usr/webroot/phpMyAdmin>  
  6.         AllowOverride All  
  7.         Options All  
  8.     </Directory>  
  9. </VirtualHost>  

创建 phpweb20 的配置文件:D:/usr/webroot/Zendphpweb20/httpd.conf

#phpweb20 虚拟主机设置
  1. <VirtualHost127.0.0.3:80>  
  2.     ServerName phpweb20  
  3.     DocumentRoot D:/usr/webroot/Zendphpweb20/htdocs  
  4.   
  5.     <DirectoryD:/usr/webroot/Zendphpweb20/htdocs>  
  6.         AllowOverride All  
  7.         Options All  
  8.     </Directory>  
  9.   
  10.     #修改 PHP 配置(可选)  
  11.     php_value include_path .;D:/usr/webroot/Zendphpweb20/include;D:/usr/local/php5/PEAR  
  12.     php_value magic_quotes_gpc off  
  13.     php_value register_globals off  
  14. </VirtualHost>  


各个虚拟主机的配置就看应用站点的不同需要了,DocumentRoot 为其根目录(php_value 是修改此站点的 PHP 运行参数,根据自己应用的需要来写,这样就不必修改 PHP 主配置文件)。

4> 重启 Apache 服务:

这个就不多说了。

完毕!好了,在浏览器地址栏输入分别输入:

我们的目的达到了!!: - >

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值