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

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

127.0.0.1       localhost

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

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

Index of /
  
    * BAK/
    * B_Discuz/
    * B_Supesite/
    * B_UCenter/
    * B_Uchome/
    * B_Uchome_Bak/
    * B_XSpace/
    * DiscuZ_X1/
    * Javascript/
    * NewUch/
    * PHP/
    * UchUtf8/
    * Zend Framework_1.10.8/
    * Zendphpweb20/
    * mycms/
    * phpMyAdmin/
    * 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. # 基于名称的虚拟主机示例:
  2.  
  3. #<VirtualHost 127.0.0.2:80>
  4. # ServerAdmin admin@system
  5. # DocumentRoot D:\usr\webroot\webhosting1
  6. # ServerName 127.0.0.2
  7. # ErrorLog logs/dummy-host.example.com-error_log
  8. # CustomLog logs/dummy-host.example.com-access_log common
  9. #</VirtualHost>
  10.  
  11. #<VirtualHost 127.0.0.3:80>
  12. # ServerAdmin admin@system
  13. # DocumentRoot D:\usr\webroot\webhosting2
  14. # ServerName 127.0.0.3
  15. # ErrorLog logs/dummy-host.example.com-error_log
  16. # CustomLog logs/dummy-host.example.com-access_log common
  17. #</VirtualHost>
  18.  
  19. #<VirtualHost 127.0.0.4:80>
  20. # ServerAdmin admin@system
  21. # DocumentRoot D:\usr\webroot\webhosting3
  22. # ServerName 127.0.0.4
  23. # ErrorLog logs/dummy-host.example.com-error_log
  24. # CustomLog logs/dummy-host.example.com-access_log common
  25. #</VirtualHost>

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

  1. # 包含 dbmanager 虚拟主机配置文件
  2. Include D:/usr/webroot/phpMyAdmin/httpd.conf
  3.  
  4. # 包含 phpweb20 虚拟主机配置文件
  5. 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.  
  6. <Directory D:/usr/webroot/phpMyAdmin>
  7. AllowOverride All
  8. Options All
  9. </Directory>
  10. </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.  
  6. <Directory D:/usr/webroot/Zendphpweb20/htdocs>
  7. AllowOverride All
  8. Options All
  9. </Directory>
  10.  
  11. #修改 PHP 配置(可选)
  12. php_value include_path .;D:/usr/webroot/Zendphpweb20/include;D:/usr/local/php5/PEAR
  13. php_value magic_quotes_gpc off
  14. php_value register_globals off
  15. </VirtualHost>

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

4> 重启 Apache 服务:

这个就不多说了。

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

  1. http://dbmanager
  2. http://phpweb20

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

基于 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. Win 2008 r2 远程桌面多用户登陆,一用户多登陆配置

    Windows 2008 R2远程桌面,设置最大连接数,一个登录后另一个就被踢掉等问题 Windows 2008 R2配置如图: 1.打开远程桌面回话主机配置 2.右键RDP-Tcp,属性,可设置最大 ...

  2. 用node编写cli工具

    cli是command-line interface的缩写,即命令行工具,常用的vue-cli, create-react-app, express-generator 等都是cli工具. 本文以自己 ...

  3. javascript 设置input 输入框里面的内容

    比如百度首页的输入框  id为kw 用javascript:document.getElementById('kw').value="杀手 博客园";用jQuery:$(" ...

  4. Angular中ui-grid的使用详解

    Angular中ui-grid的使用 在项目开发的过程中,产品经理往往会提出各种需求,以提高用户体验.最近,项目中用到的表格特别多,而且表格的列数和行数也超多.为了让用户浏览更爽,产品经理提出,当表格 ...

  5. BOM之navigator对象和用户代理检测

    前面的话 navigator对象现在已经成为识别客户端浏览器的事实标准,navigator对象是所有支持javascript的浏览器所共有的.本文将详细介绍navigator对象和用户代理检测 属性 ...

  6. 11Java网络编程

    十一.网络编程       11.1 网络通信协议 网络通信协议:通信协议是对计算机必须遵守的规则,只有遵守这些规则,计算机之间才能进行通信.这就好比在道路中行驶的汽车一定要遵守交通规则一样,协议中对 ...

  7. 【刷题】LOJ 6002 「网络流 24 题」最小路径覆盖

    题目描述 给定有向图 \(G = (V, E)\) .设 \(P\) 是 \(G\) 的一个简单路(顶点不相交)的集合.如果 \(V\) 中每个顶点恰好在 \(P\) 的一条路上,则称 \(P\) 是 ...

  8. 自学Zabbix10.1 Configuration export/import 配置导入导出

    自学Zabbix10.1 Configuration export/import 配置导入导出 通过导入/导出zabbix配置文件,我们可以将自己写好的模板等配置在网络上分享,我们也可以导入网络上分享 ...

  9. diyiti.cpp

    diyiti.cpp/c/pas diyiti.in diyiti.out 2s/256MB 给定两个01串,S,T(下标从0开始). 支持如下3种操作: 1. 修改S第i位的字符,即0->1, ...

  10. 【uoj35】 后缀排序

    http://uoj.ac/problem/35 (题目链接) 题意 如题,并且求height数组. Solution 挂一发后缀自动机构后缀数组及height数组 细节 注意基数排序和连边的时候不要 ...