加入收藏 | 设为首页 | 会员中心 | 我要投稿 大连站长网 (https://www.0411zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2022-06-16 12:01:59 所属栏目:PHP教程 来源:互联网
导读:如何使用 Apache 在本地配置出多个虚拟主机呢?而且使用不同的域名来访问本地不同的站点呢? 一般情况下,咱们都使用 localhost 来访问本机上的服务器,在我们的 C:/WINDOWS/system32/drivers/etc/hosts 文件中默认有一个: 127.0.0.1 localhost 当我们在
  如何使用 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.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: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
 
  我们的目的达到了!
 
 

(编辑:大连站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!