当前位置:首页 > 网站技术>Apache虚拟主机(vhost)配置教程

Apache虚拟主机(vhost)配置教程

网站技术 / 星之宇 / 2012-12-16 9:36 / 浏览:44471 / 评论:3

使用apache来配置虚拟主机,在单一系统上运行多个网站。

现在很多linux主机使用apache作为web服务器的,大部分是基于这个原理来配置虚拟主机的。


下面就windows下以apache 2.4.3作为演示的一个教程。

这里只是简单的说明下,简述实现的原理

1.Apache的配置文件httpd.conf,找到Virtual hosts,进行如下修改保存。

# Virtual hosts
#Include conf/extra/httpd-vhosts.conf
去掉第2行的‘#’号,改为
# Virtual hosts
Include conf/extra/httpd-vhosts.conf

这样就开启了extra文件夹下的httpd-vhosts.conf,以后修改虚拟主机只要在这个文件进行。


2.对httpd-vhosts.conf进行配置。

例如域名www.a.com和www.b.com

# Virtual Hosts
#
# Required modules: mod_log_config

# If you want to maintain multiple domains/hostnames on your
# machine you can setup VirtualHost containers for them. Most configurations
# use only name-based virtual hosts so the server doesn't need to worry about
# IP addresses. This is indicated by the asterisks in the directives below.
#
# Please see the documentation at 
# <URL:http://httpd.apache.org/docs/2.4/vhosts/>
# for further details before you try to setup virtual hosts.
#
# You may use the command line option '-S' to verify your virtual host
# configuration.

#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ServerName or ServerAlias in any <VirtualHost> block.
#
<VirtualHost *:80>
    ServerAdmin webmaster@a.com
    DocumentRoot "d:/www/a"
    ServerName a.com
    ServerAlias www.a.com
    ErrorLog "logs/a.com.log"
    CustomLog "logs/a.com.log" common
    <Directory "d:/www/a"> 
     Require all granted   
    </Directory> 
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin webmaster@b.com
    DocumentRoot "d:/www/b"
    ServerName b.com
    ServerAlias www.b.com
    ErrorLog "logs/b.com.log"
    CustomLog "logs/b.com.log" common
    <Directory "d:/www/b"> 
     Require all granted   
    </Directory> 
</VirtualHost>

注意:apache 2.4以上版本中需要在目录下面添加 Require all granted,否则无论怎么访问都是403。

这个我也查找了好久才查出的原因,官方文档也没有找到说明的地方。


目前有 3 条评论

    • QQ
    • 填好QQ,点击获取自动填写昵称和邮箱
    • 昵称
    • 邮箱
    • 网址

    游客 2016-07-20 20:152楼

    我访问域名无效,完全是这个步骤啊评论

    星之宇 2016-07-20 20:17

    @游客:重启apache才生效的回复

    游客 2014-10-15 00:361楼

    厉害!评论