1. 如何使用 Apache 在本地配置出多个虚拟主机呢?而且使用不同的“域名”来访问本地不同的站点呢?
  2.  
  3. 一般情况下,咱们都使用 localhost 来访问本机上的服务器,在我们的 C:/WINDOWS/system32/drivers/etc/hosts 文件中默认有一个:
  4. 127.0.0.1 localhost
  5.  
  6. 当我们在浏览器地址栏键入:
  7. http://localhost
  8.  
  9. 的时候,会显示出服务器根目录中的许多文件夹(若你的根目录不是只有一个站点的话),就像:
  10. Index of /
  11.  
  12. * BAK/
  13. * B_Discuz/
  14. * B_Supesite/
  15. * B_UCenter/
  16. * B_Uchome/
  17. * B_Uchome_Bak/
  18. * B_XSpace/
  19. * DiscuZ_X1/
  20. * Javascript/
  21. * NewUch/
  22. * PHP/
  23. * UchUtf8/
  24. * Zend Framework_1.10.8/
  25. * Zendphpweb20/
  26. * mycms/
  27. * phpMyAdmin/
  28. * userAdminManager/
  29.  
  30. 现在我想通过一个自定义的“域名”来访问我的根目录中的站点,譬如:
  31.  
  32. 1,根目录中有一个 phpMyAdmin/ 的文件夹(倒数第二个),它是一个网页版的数据库管理系统(肯定不会陌生的吧!),我想通过访问一个简单的:
  33. http://dbmanager
  34.  
  35. 来进入这个系统(而不用输入 localhost,再点击 phpMyAdmin/ 才进入);
  36.  
  37. 2,根目录中有一个 Zendphpweb20/ 的文件夹(倒数第三个),它只是一个本地应用站点,我想通过访问:
  38. http://phpweb20
  39.  
  40. 来进入这个本地站点;
  41.  
  42. 现在要干些什么呢?跟我来吧!看下面:
  43.  
  44. 1> 修改系统的 hosts 文件:
  45.  
  46. 打开之前说过的系统的 hosts 文件,来给我们的电脑添加两个“假的”DNS 项,加入代码:
  47. 127.0.0.2 dbmanager
  48. 127.0.0.3 phpweb20
  49.  
  50. 这样,我们的浏览器就会将 dbmanager 主机名解析为 127.0.0.2,将 phpweb20 主机名解析为 127.0.0.3
  51.  
  52. 2> 修改 Apache 配置文件:
  53.  
  54. 在我的本机内 Apache 的主配置文件在:
  55. D:/usr/local/apache2/conf/httpd.conf
  56.  
  57. 说是修改 Apache 的配置文件,其实只是添加了一些内容,因为不想修改 Apache 的主配置文件,所以我们最好在各个站点写好自己的虚拟主机配置子文件,然后使用 Include 指令将其包含到 Apache 的主配置文件里。
  58.  
  59. 其实在 Apache 的主配置文件的最下方有虚拟主机的配置示例,只不过都被注释掉了:
  60. # 基于名称的虚拟主机示例:
  61.  
  62. #<VirtualHost 127.0.0.2:80>
  63. # ServerAdmin admin@system
  64. # DocumentRoot D:\usr\webroot\webhosting1
  65. # ServerName 127.0.0.2
  66. # ErrorLog logs/dummy-host.example.com-error_log
  67. # CustomLog logs/dummy-host.example.com-access_log common
  68. #</VirtualHost>
  69.  
  70. #<VirtualHost 127.0.0.3:80>
  71. # ServerAdmin admin@system
  72. # DocumentRoot D:\usr\webroot\webhosting2
  73. # ServerName 127.0.0.3
  74. # ErrorLog logs/dummy-host.example.com-error_log
  75. # CustomLog logs/dummy-host.example.com-access_log common
  76. #</VirtualHost>
  77.  
  78. #<VirtualHost 127.0.0.4:80>
  79. # ServerAdmin admin@system
  80. # DocumentRoot D:\usr\webroot\webhosting3
  81. # ServerName 127.0.0.4
  82. # ErrorLog logs/dummy-host.example.com-error_log
  83. # CustomLog logs/dummy-host.example.com-access_log common
  84. #</VirtualHost>
  85.  
  86. 在配置文件的最下方添加代码:
  87. # 包含 dbmanager 虚拟主机配置文件
  88. Include D:/usr/webroot/phpMyAdmin/httpd.conf
  89.  
  90. # 包含 phpweb20 虚拟主机配置文件
  91. Include D:/usr/webroot/Zendphpweb20/httpd.conf
  92.  
  93. (我的 localhost 的根目录为 D:/usr/webroot/)
  94.  
  95. 3> 创建各个虚拟主机的子配置文件:
  96.  
  97. 创建 dbmanager 的配置文件:D:/usr/webroot/phpMyAdmin/httpd.conf
  98. #dbmanager 虚拟主机设置
  99. <VirtualHost 127.0.0.2:80>
  100. ServerName dbmanager
  101. DocumentRoot D:/usr/webroot/phpMyAdmin
  102.  
  103. <Directory D:/usr/webroot/phpMyAdmin>
  104. AllowOverride All
  105. Options All
  106. </Directory>
  107. </VirtualHost>
  108.  
  109. 创建 phpweb20 的配置文件:D:/usr/webroot/Zendphpweb20/httpd.conf
  110. #phpweb20 虚拟主机设置
  111. <VirtualHost 127.0.0.3:80>
  112. ServerName phpweb20
  113. DocumentRoot D:/usr/webroot/Zendphpweb20/htdocs
  114.  
  115. <Directory D:/usr/webroot/Zendphpweb20/htdocs>
  116. AllowOverride All
  117. Options All
  118. </Directory>
  119.  
  120. #修改 PHP 配置(可选)
  121. php_value include_path .;D:/usr/webroot/Zendphpweb20/include;D:/usr/local/php5/PEAR
  122. php_value magic_quotes_gpc off
  123. php_value register_globals off
  124. </VirtualHost>
  125.  
  126. 各个虚拟主机的配置就看应用站点的不同需要了,DocumentRoot 为其根目录(php_value 是修改此站点的 PHP 运行参数,根据自己应用的需要来写,这样就不必修改 PHP 主配置文件)。
  127.  
  128. 4> 重启 Apache 服务:
  129.  
  130. 这个就不多说了。
  131.  
  132. 完毕!好了,在浏览器地址栏输入分别输入:
  133. http://dbmanager
  134. http://phpweb20
  135.  
  136. 我们的目的达到了!!: - >

【转】基于 Apache 在本地配置多个虚拟主机的更多相关文章

  1. 基于 Apache 在本地配置多个虚拟主机

    如何使用 Apache 在本地配置出多个虚拟主机呢?而且使用不同的“域名”来访问本地不同的站点呢? 一般情况下,咱们都使用 localhost 来访问本机上的服务器,在我们的 C:/WINDOWS/s ...

  2. 基于Apache在本地配置多个虚拟主机站点

    简单的说,打开httpd.conf 在最后加入如下内容: <VirtualHost 127.0.0.2:80>    DocumentRoot d:/AppServ/www2    Ser ...

  3. Apache 2.4 配置多个虚拟主机的问题

    以前一直用Apache2.2的版本,最近升级到了2.4的版本,尝尝新版本嘛. 不过遇到了几个问题,一个就是配置了多个virtualhost,虽然没有报错,不过除了第一可以正常访问外,其他的都存在403 ...

  4. centos LAMP第二部分apache配置 下载discuz!配置第一个虚拟主机 安装Discuz! 用户认证 配置域名跳转 配置apache的访问日志 配置静态文件缓存 配置防盗链 访问控制 apache rewrite 配置开机启动apache tcpdump 第二十节课

    centos    LAMP第二部分apache配置  下载discuz!配置第一个虚拟主机 安装Discuz! 用户认证 配置域名跳转  配置apache的访问日志  配置静态文件缓存  配置防盗链 ...

  5. Httpd服务入门知识-Httpd服务常见配置案例之虚拟主机

    Httpd服务入门知识-Httpd服务常见配置案例之虚拟主机 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.虚拟主机实现方案 1>.Apache httpd 有三种实现虚 ...

  6. 轻松配置httpd的虚拟主机

    html { font-family: sans-serif } body { margin: 0 } article,aside,details,figcaption,figure,footer,h ...

  7. nginx配置多个虚拟主机vhost

    在nginx下配置虚拟主机vhost非常方便.主要在nginx的配置文件nginx.conf中添加一个server即可 比如我想配置两个虚拟主机,通过域名linux.com和linux2.com访问, ...

  8. Nginx入门讲解——初步认识了解nginx.conf配置文件以及配置多个虚拟主机

    本文引自网络进攻学习之用https://blog.csdn.net/weixin_38111957/article/details/81080539 一. 引言上节文章讲述了如何用信号控制Nginx服 ...

  9. nginx配置多个虚拟主机(mac)

    1 . 安装  通过homebrew安装nginx,默认安装在:/usr/local/Cellar/nginx/版本号.配置文件在路径:/usr/local/etc/nginx ,默认配置文件ngin ...

随机推荐

  1. 韦东山笔记之安装arm-linux-gcc交叉编译环境详细步骤。

    1在关盘主目录tools下复制arm-linux-gcc-3.4.5-glibc-2.3.6.tar.bz2到虚拟机上     解压 tar xjf arm-linux-gcc-3.4.5-glibc ...

  2. 洛谷 P1821 [USACO07FEB]银牛派对Silver Cow Party

    银牛派对 正向建图+反向建图, 两边跑dijkstra,然后将结果相加即可. 反向建图以及双向建图的做法是学习图论的必备思想. #include <iostream> #include & ...

  3. php 根据周数获取当周的开始日期与最后日期

    /** * 根据第几周获取当周的开始日期与最后日期 * @param int $year 年份 $weeks = get_week($year) * @param 如获取第18周的开始日期$weeks ...

  4. iOS 最新判断机型设备方法

    #define isIphoneXXS [UIScreen mainScreen].bounds.size.width == 375  && [UIScreen mainScreen] ...

  5. 数据库操作----找了MySQL和SQL Sever两个的基础语句

    这是MySQL的基本操作: 1 登入数据库:mysql -uroot -p+密码 (SQL Sever登入: osql -U 用户名 -P 密码) 显示已存在的数据库:show databases; ...

  6. freebsd问题

    http://community.spiceworks.com/topic/91708-server-freezes

  7. Git命令图片版

  8. 解决Layui的switch样式显示问题

    Layui官方文档是这么说的: <input type="checkbox" name="xxx" lay-skin="switch" ...

  9. docker-java的使用

    1. docker java 的api需要证书的认证 在/home/hett文件下创建certs证书 生成服务器私钥,命令如下: $openssl genrsa -out server-key.pem ...

  10. UVA12897 - Decoding Baby Boos

    没必要每次都真的修改一遍字母值,用一个标记表示字母最后的值,最后一遍的时候再进行修改 #include<cstdio> #include<cstring> +; char st ...