zoukankan      html  css  js  c++  java
  • 【转】基于 Apache 在本地配置多个虚拟主机

    如何使用 Apache 在本地配置出多个虚拟主机呢?而且使用不同的“域名”来访问本地不同的站点呢?
    
    一般情况下,咱们都使用 localhost 来访问本机上的服务器,在我们的 C:/WINDOWS/system32/drivers/etc/hosts 文件中默认有一个:
    127.0.0.1       localhost
    
    当我们在浏览器地址栏键入:
    http://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/ 的文件夹(倒数第二个),它是一个网页版的数据库管理系统(肯定不会陌生的吧!),我想通过访问一个简单的:
    http://dbmanager
    
    来进入这个系统(而不用输入 localhost,再点击 phpMyAdmin/ 才进入);
    
    2,根目录中有一个 Zendphpweb20/ 的文件夹(倒数第三个),它只是一个本地应用站点,我想通过访问:
    http://phpweb20
    
    来进入这个本地站点;
    
    现在要干些什么呢?跟我来吧!看下面:
    
    1> 修改系统的 hosts 文件:
    
    打开之前说过的系统的 hosts 文件,来给我们的电脑添加两个“假的”DNS 项,加入代码:
    127.0.0.2       dbmanager
    127.0.0.3       phpweb20
    
    这样,我们的浏览器就会将 dbmanager 主机名解析为 127.0.0.2,将 phpweb20 主机名解析为 127.0.0.32> 修改 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:usrwebrootwebhosting1
     #   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:usrwebrootwebhosting2
     #   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:usrwebrootwebhosting3
     #   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
    
    我们的目的达到了!!: - >
  • 相关阅读:
    14、打开MySQL数据库远程访问权限
    11、mysql导出数据库表的创建sql语句
    13、自增长主键及字符集的修改
    ASP.NET2.0 Provider模型
    ASP.NET Provider模型(3)
    ASP.NET2.0 ObjectDataSource的使用详解
    ASP.NET2.0快速入门存储用户配置文件
    ASP.NET2.0快速入门--使用母版页创建布局
    ASP.NET2.0 ObjectDataSource的使用详解(3)
    ASP.NET2.0 Provider模型(二)
  • 原文地址:https://www.cnblogs.com/bravehunter/p/5709893.html
Copyright © 2011-2022 走看看