如何使用 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 的主配置文件的最下方有虚拟主机的配置示例,只不过都被注释掉了:

# 基于名称的虚拟主机示例:

#<VirtualHost 127.0.0.2:80>
# ServerAdmin admin@system
# DocumentRoot D:\usr\webroot\webhosting1
# ServerName 127.0.0.2
# ErrorLog logs/dummy-host.example.com-error_log
# CustomLog logs/dummy-host.example.com-access_log common
#</VirtualHost> #<VirtualHost 127.0.0.3:80>
# ServerAdmin admin@system
# DocumentRoot D:\usr\webroot\webhosting2
# ServerName 127.0.0.3
# ErrorLog logs/dummy-host.example.com-error_log
# CustomLog logs/dummy-host.example.com-access_log common
#</VirtualHost> #<VirtualHost 127.0.0.4:80>
# ServerAdmin admin@system
# DocumentRoot D:\usr\webroot\webhosting3
# ServerName 127.0.0.4
# ErrorLog logs/dummy-host.example.com-error_log
# CustomLog logs/dummy-host.example.com-access_log common
#</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 虚拟主机设置
<VirtualHost 127.0.0.2:80>
ServerName dbmanager
DocumentRoot D:/usr/webroot/phpMyAdmin <Directory D:/usr/webroot/phpMyAdmin>
AllowOverride All
Options All
</Directory>
</VirtualHost>

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

#phpweb20 虚拟主机设置
<VirtualHost 127.0.0.3:80>
ServerName phpweb20
DocumentRoot D:/usr/webroot/Zendphpweb20/htdocs <Directory D:/usr/webroot/Zendphpweb20/htdocs>
AllowOverride All
Options All
</Directory> #修改 PHP 配置(可选)
php_value include_path .;D:/usr/webroot/Zendphpweb20/include;D:/usr/local/php5/PEAR
php_value magic_quotes_gpc off
php_value register_globals off
</VirtualHost>

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

4> 重启 Apache 服务:

这个就不多说了。

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

http://dbmanager
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. Adobe X沙箱

    一.Adobe X沙箱简介 Adobe Reader X自从引入沙箱以来,对其攻击的难度就提高了很多.Reader X的沙箱是基于Google的Chrome沙箱,Chrome是开源的,Reader X ...

  2. emoji & click copy

    emoji & click copy document.execCommand("copy"); https://clipboardjs.com/ https://www. ...

  3. JIRA状态为任务结束,但是解决结果为未解决相关配置

    1.JIRA状态为任务结束,但是解决结果为未解决,如下图所示: 2.在工作流->界面->结果处理中进行解决结果的配置(首先确保界面配置中有“解决结果”字段). 3.点击“结果处理”,进行结 ...

  4. MHN蜜罐的安装部署

    MHN(Modern Honey Network),是一个用于管理和收集蜜罐数据的中心服务器.通过MHN,可以实现快速部署多种类型的蜜罐并且通过web可视化界面显示蜜罐收集的数据,目前支持的蜜罐类型有 ...

  5. HDU 1611 敌兵布阵 / HRBUST 1794 敌兵布阵(线段树)

    HDU 1611 敌兵布阵 / HRBUST 1794 敌兵布阵(线段树) Description C国的死对头A国这段时间正在进行军事演习,所以C国间谍头子Derek和他手下Tidy又开始忙乎了.A ...

  6. 通用权限管理系统底层更换最新Oracle驱动的方法

    通用权限管理系统底层先前访问Oracle数据库时需要客户端安装驱动软件,如下图: 安装完毕还需要一番配置,系统再引用其dll, 现在我们使用了最新的dll 该dll是Oracle出的最新的版本. 通用 ...

  7. (转)Maven学习总结(九)——使用Nexus搭建Maven私服

    孤傲苍狼只为成功找方法,不为失败找借口! Maven学习总结(九)——使用Nexus搭建Maven私服 一.搭建nexus私服的目的 为什么要搭建nexus私服,原因很简单,有些公司都不提供外网给项目 ...

  8. apigateway-kong(三)Proxy规则

    本篇详细记录了Kong的代理功能及其路由功能和内部工作. Kong公开了几个可以通过两个配置属性进行调整的接口:proxy_listen,默认8000,它定义Kong将接受来自客户端的公共流量并将其代 ...

  9. 分布式系统登录功能拦截器的实现以及cookie的共享问题(利用cookie实现session在分布式系统的共享)

    当我们的网站采用分布式部署系统时,每个子系统拥有自己独立的session,如果不实现session共享,当用户切换系统访问的时候,会不停的提示登录,这对于用户体验是非常不好的.因此对于多个子系统的的访 ...

  10. 如何在Ubuntu-14.04上安装g++-6.3 ?

    特别注意: ppa:ubuntu-toolchain仅为尝鲜测试版,并非官方稳定版. 以下仅用于学习,不建议进行以下操作,以免出现包依赖关系问题,影响系统稳定性. askUbuntu github a ...