Apache配置虚拟主机的三种方式

Apache配置虚拟主机的三种方式

  • 一、基于IP
  • 二、基于主机名
  • 三、基于端口

首先在Apache下的htdocs目录下,新建两个目录,test1和test2
每个目录下新建一个测试页面index.php,只要不一样就行,示例内容如下

test1:
<html>
    <body>
         echo "You are in test1"; ?>
    body>
html>
test2:
<html>
    <body>
         echo "You are in test2"; ?>
    body>
html>

本地模拟外网域名,在hosts文件配置两个测试域名

127.0.0.1 www.test1.com
127.0.0.1 www.test2.com

一、基于IP

基于IP是,一台服务器有多个网卡,每个IP绑定一个站点的方式
配置示例如下

首先,修改Apache24\conf\httpd.conf文件,找到VirtualHost example,在后面引入httpd-vhosts.conf文件:Include conf/extra/httpd-vhosts.conf
这个句话,高版本的apache里面已经写有了,只需吧Include前面的#号去掉就OK了
Apache配置虚拟主机的三种方式_第1张图片
然后Apache24\conf\extra\httpd-vhosts.conf文件内容,我这里把其他内容清空了,只留下了如下配置信息。


    DocumentRoot "D:\website\Apache24\htdocs\test1"

    ServerName www.test1.com

    ErrorLog "logs/test1-error.log"
    CustomLog "logs/test1-access.log" common




    DocumentRoot "D:\website\Apache24\htdocs\test2"

    ServerName www.test2.com    

    ErrorLog "logs/test2-error.log"
    CustomLog "logs/test2-access.log" common

二、基于主机名

基于主机名也就是基于域名方式访问,每个 IP 多个站点

配置示例如下

 
    DocumentRoot "D:\website\Apache24\htdocs\test1"

    ServerName www.test1.com
    ServerAlias test1.com   

    ErrorLog "logs/test1-error.log"
    CustomLog "logs/test1-access.log" common





    DocumentRoot "D:\website\Apache24\htdocs\test2"

    ServerAdmin [email protected]

    ServerName www.test2.com
    ServerAlias test2.com 

    ErrorLog "logs/test2-error.log"
    CustomLog "logs/test2-access.log" common

三、基于端口

修改配置文件
  将原来的

    Listen 80
改为
  Listen 80
   Listen 8080

示例代码如下


    DocumentRoot "D:\website\Apache24\htdocs\test1"
    ServerName www.test1.com



    DocumentRoot "D:\website\Apache24\htdocs\test2"
    ServerName www.test2.com

以上内容仅供个人备注使用,若有不对的地方,还请留言更改,谢谢!

查看原文:http://www.ibloger.net/article/297.html

Apache 虚拟主机文档: http://httpd.apache.org/docs/current/vhosts/

官方配置示例:http://httpd.apache.org/docs/current/vhosts/examples.html

Linux下Apache配置示例:
http://www.cnblogs.com/hi-bazinga/archive/2012/04/23/2466605.html

你可能感兴趣的:(服务器)