`

基于 Apache 在本地配置多个虚拟主机

阅读更多

如何使用 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 服务:

这个就不多说了。

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

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

分享到:
评论

相关推荐

    本地机apache配置基于域名的虚拟主机

    在一台物理服务器上,可以设置多个独立的虚拟主机,每个虚拟主机对外表现为一个单独的网站,它们通过不同的域名来区分。Apache通过Host模块来实现这一功能。 1. **安装Apache** 在Windows系统中,你可以从Apache...

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

    主要介绍了如何通过Apache在本地配置多个虚拟主机,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    apache虚拟主机配置

    ### Apache虚拟主机配置详解 #### 一、Apache虚拟主机配置概览 Apache是目前最流行的Web服务器之一,它支持多种类型的虚拟主机配置。通过虚拟主机技术,可以在同一台物理服务器上运行多个不同的网站,这对于节省...

    apache配置虚拟主机代码

    为每个虚拟主机配置SSL证书以提供HTTPS连接,确保数据传输的安全。此外,限制对每个站点目录的访问权限,防止恶意用户访问其他站点的文件。 9. **日志文件** 可以通过设置`ErrorLog`和`CustomLog`指令,让每个...

    apache虚拟目录和虚拟主机设置详解

    ### Apache虚拟目录和虚拟...总之,Apache的虚拟目录和虚拟主机配置提供了强大的功能,使得服务器管理和网站部署变得更加高效和安全。通过合理地利用这些特性,可以显著提升网站的性能和用户体验,同时降低运维成本。

    ubuntu下配置apache虚拟主机(原创)

    这样,我们就成功地配置了一个虚拟主机。在这个虚拟主机中,我们可以存放自己的网页文件,并使用 `stone.com` 域名访问我们的网站。 虚拟主机的优点是可以在一台物理服务器上运行多个独立的虚拟服务器,每个虚拟...

    apache三种虚拟主机的配置

    根据给定文件的信息,本文将详细介绍Apache的三种虚拟主机配置方式:基于名称的虚拟主机(Name-based Virtual Hosts)、基于IP地址的虚拟主机(IP-based Virtual Hosts)以及基于端口的虚拟主机(Port-based Virtual...

    linux下apache虚拟主机的配置方法

    在Linux环境下配置Apache虚拟主机是一项关键的服务器管理技能,它允许在同一台物理服务器上运行多个独立的网站,每个网站都拥有自己的域名、文档根目录、错误日志等配置。以下是对给定文件信息中提到的知识点进行的...

    apache配置虚拟主机

    上述错误配置示例中,有四个虚拟主机配置,但每个`VirtualHost`块都没有指定它们属于哪个IP地址。Apache在启动时会发出警告,指出默认虚拟主机在端口80上的重叠,这意味着所有请求都将被第一个定义的虚拟主机接收,...

    apache 虚拟主机配置

    通过以上步骤,我们可以在一台服务器上配置并运行多个虚拟主机,这对于初学者来说是一个很好的实践机会,不仅可以学习Apache的基本配置,还可以了解如何管理多个网站。希望本文能帮助您更好地理解和掌握Apache虚拟...

    Apache虚拟主机配置及WordPress固定连接设置

    Apache虚拟主机配置是服务器管理中的基础操作,它允许在单个服务器上托管多个网站,每个网站可以有不同的域名或IP地址。在Apache服务器中,我们通过修改主配置文件httpd.conf来实现这一功能。Apache虚拟主机有两种...

    php+apache虚拟主机配置.rar

    在"php+apache虚拟主机配置"中,我们需要完成的主要任务是配置Apache服务器,使其能够识别和解析PHP文件,并设置虚拟主机以便在同一台服务器上托管多个网站。下面将详细介绍这个过程: 1. **安装Apache和PHP**: ...

    Apache中设置多个端口

    这两段配置分别设置了 80 端口和 81 端口的虚拟主机,每个虚拟主机可以监听不同的端口和目录。 最后,需要重启 Apache 服务器,以便让配置生效。 此外,Apache 服务器还提供了其他的一些高级配置选项,例如虚拟...

    apache 设置主机头,同一端口绑定多个域名和网站

    ### Apache配置主机头在同一端口绑定多个域名和网站 在Apache服务器中,有时我们需要在同一台服务器上运行多个网站,每个网站都有不同的域名。这可以通过配置虚拟主机(Virtual Hosts)来实现,其中一种方法是使用...

    Apache搭建虚拟主机(在本机起个假域名来访问php网站),可搭建许多个虚拟主机,假域名.zip

    Apache搭建虚拟主机(在本机起个假域名来访问php网站),可搭建许多个虚拟主机,假域名.zip

    httpd基于域名的虚拟Web主机配置.doc

    这意味着如果要管理多个站点,需要将所有站点的配置迁移到相应的虚拟主机配置文件中。 通过以上步骤,你可以成功地在httpd上配置基于域名的虚拟Web主机,实现一台服务器上托管多个独立的Web站点。记得在实际操作时...

Global site tag (gtag.js) - Google Analytics