怎么使用 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 文档,来让我们的电脑上加上2个“假的”DNS 项,添加编码:

127.0.0.2 dbmanager
127.0.0.3 phpweb20

那样,大家的电脑浏览器便会将 dbmanager IP地址分析为 127.0.0.2,将 phpweb20 IP地址分析为 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

大家的目地做到了!

之上便是文中的所有内容,期待对大伙儿的学习培训有一定的协助,也期待大伙儿多多的适用。