【服务器】Apache配置多域名虚拟主机的三种方式

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

  • 一、基于IP

  • 二、基于主机名

  • 三、基于端口

首先在Apache下的htdocs目录下,新建两个目录,test1和test2 

每个目录下新建一个测试页面index.php,只要不一样就行,示例内容如下

test1:<html>
    <body>
        <?php echo "You are in test1"; ?>
    </body></html>test2:<html>
    <body>
        <?php 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了 

然后Apache24\conf\extra\httpd-vhosts.conf文件内容,我这里把其他内容清空了,只留下了如下配置信息。

<VirtualHost 172.20.30.40:80>
    DocumentRoot "D:\website\Apache24\htdocs\test1"

    ServerName www.test1.com

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

</VirtualHost>

<VirtualHost 172.20.30.50:80>
    DocumentRoot "D:\website\Apache24\htdocs\test2"

    ServerName www.test2.com    

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

</VirtualHost>

二、基于主机名

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

配置示例如下

<VirtualHost *:80>
    DocumentRoot "D:\website\Apache24\htdocs\test1"

    ServerName www.test1.com
    ServerAlias test1.com   

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

</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "D:\website\Apache24\htdocs\test2"

    ServerAdmin rapido@qq.com

    ServerName www.test2.com
    ServerAlias test2.com 

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

</VirtualHost>

三、基于端口

修改配置文件 

将原来的  Listen 80 , 改为 Listen 80 、Listen 8080

示例代码如下

<VirtualHost 192.168.1.10:80>
    DocumentRoot "D:\website\Apache24\htdocs\test1"
    ServerName www.test1.com
</VirtualHost>

<VirtualHost 192.168.1.10:8080>
    DocumentRoot "D:\website\Apache24\htdocs\test2"
    ServerName www.test2.com
</VirtualHost>

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

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 


赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏