ASCII码 ASCII码

如何通过Apache在本地配置多个虚拟主机

发布于:2022-04-18 14:14:17  栏目:技术文档

这篇文章主要介绍了如何通过Apache在本地配置多个虚拟主机,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

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

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

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

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

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

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

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

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

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

http://phpweb20来进入这个本地站点;

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

1> 修改系统的 hosts 文件:

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

127.0.0.2 dbmanager127.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. # 基于名称的虚拟主机示例:
  2. #<VirtualHost 127.0.0.2:80>
  3. # ServerAdmin admin@system
  4. # DocumentRoot D:\usr\webroot\webhosting1
  5. # ServerName 127.0.0.2
  6. # ErrorLog logs/dummy-host.example.com-error_log
  7. # CustomLog logs/dummy-host.example.com-access_log common
  8. #</VirtualHost>
  9. #<VirtualHost 127.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. #<VirtualHost 127.0.0.4:80>
  17. # ServerAdmin admin@system
  18. # DocumentRoot D:\usr\webroot\webhosting3
  19. # ServerName 127.0.0.4
  20. # ErrorLog logs/dummy-host.example.com-error_log
  21. # CustomLog logs/dummy-host.example.com-access_log common
  22. #</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

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

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

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

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

4> 重启 Apache 服务:

这个就不多说了。

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

http://dbmanagerhttp://phpweb20我们的目的达到了!

以上就是本文的全部内容,希望对大家的学习有所帮助。

相关推荐
阅读 +