apache 中多虚拟主机VirtualHost的配置

apache 中多虚拟主机VirtualHost的配置
 
先提一下,在httpd.conf里你肯定配置了一个网站所在的根目录,也就是htdocs,这是个默认的路径,
而虚拟主机的路径是咱们现在要改的,虚拟主机的优先级大于默认的,所以对同一个端口访问时是先找虚拟主机的
没有的话再去找默认的。

首先要在httpd.conf中把include httpd-vhosts.conf前的#去掉
然后改httpd-vhosts.conf,在extra目录里,
 
--------------------------单IP绑定多域名---------------------------------------------------
NameVirtualHost 本机ip:80  //它表示所有来访本机的80端口,其实把整个这句去掉也能用,不过最后解析得到的
                      //只是第一个虚拟主机,其它的就永远都访问不了
 
<VirtualHost www.cqy.cn:80>        //以下的属性只有DocumentRoot有用,
    ServerAdmin
webmaster@dummy-host.hfut.edu.cn
    DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs/discuz" //你网站目录
    ServerName
www.cqy.cn
    ServerAlias www.cqy.cn fpt.cqy.cn      //ServerAlias是ServerName的别名,但不要认为你可以随便写,
                                             //只有你在DNS服务器上配制了别名你也可以用,当然serverName你也要在
                                                //服务器上配制相应的名子(其实正如上说除了DocumentRoot,其它都没用)
    ErrorLog "logs/dummy-host.hfut.edu.cn-error.log"    //日志地址
    CustomLog "logs/dummy-host.hfut.edu.cn-access.log" common  //日志地址
</VirtualHost>
 
<VirtualHost www.cqy.jp:80>     //第二台虚拟主机 和第一台虚拟主机同理配制
   ServerAdmin
webmaster@dummy-host.hfut.edu.cn
    DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs/phpwind"
    ServerName
www.cqy.jp
    ErrorLog "logs/dummy-host2.hfut.edu.cn-error.log"
    CustomLog "logs/dummy-host2.hfut.edu.cn-access.log" common
</VirtualHost>

--------------------------单IP绑定多端口------------------------------------
再提一下,不要进行多端口多域名配置,同一IP对多端口绑定的优先级大于对于多域名的绑定,因为解析时先将域名进行解析,由于不同域名对应相同IP,所以变成了如127.0.0.1:8000形式的ip加端口号,所以起作用的只有端口号,所以如果多端口
又多域名,它只会解析多端口。

先在httpd.conf里
找到
listen 80
下面加上要俗侦听的端口
listen 8009
同样把include httpd-vhosts.conf前的#去掉
然后改httpd-vhosts.conf,在extra目录里,
 
NameVirtualHost *:80   //对于单ip多端口,有没有都行
<VirtualHost *:80>           //常规的,不必多说,和上面讲的一样
    ServerAdmin
webmaster@dummy-host.hfut.edu.cn
    DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs/discuz"
    ServerName
www.cqy.cn
    ServerAlias www.cqy.cn fpt.cqy.cn
    ErrorLog "logs/dummy-host.hfut.edu.cn-error.log"
    CustomLog "logs/dummy-host.hfut.edu.cn-access.log" common
</VirtualHost>
<VirtualHost *:8009>     //这个设置端口是最重要的,还有下面的DocumentRoot也是最重要的,其它的可以随便写,
                          //像我这样也行
   ServerAdmin
webmaster@dummy-host.hfut.edu.cn
   DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs/phpwind"
    ServerName
www.cqffffy.jp
    ServerAlias www.cfffffqy.jp
    ErrorLog "logs/dummy-host2.hfut.edu.cn-error.log"
    CustomLog "logs/dummy-host2.hfut.edu.cn-access.log" common
</VirtualHost>

重启就行了
总结一下,我感觉只有<VirtualHost >标签和DocumentRoot 有用,当一个ip对应多个域名时用<VirtualHost  域名:端口>
当一个ip对多个端口时可以用<VirtualHost *:端口 >,若是80端口可省
 
以上是我反复试的总结,如有不对讲留言告诉我,谢谢
 
 
 
 
 
 
 


 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值