zoukankan      html  css  js  c++  java
  • Apache之——多虚拟主机多站点配置的两种实现方案

    Apache中配置多主机多站点,可以通过两种方式实现:

    • 将同一个域名的不同端口映射到不同的虚拟主机,不同端口映射到不同的站点;
    • 将同一个端口映射成不同的域名,不同的域名映射到不同的站点。

    我们只需要修改相应的配置文件即可。

    一、准备工作

    1、修改系统 hosts文件

    我是在我自己的电脑上操作的,我的系统是win7,所以先修改win7系统的hosts文件,增加两个域名映射,以便后面备用。hosts文件的路径是:C:/Windows/System32/drivers/etc/hosts,在这个文件中我们加入如下两行代码:

    127.0.0.1 www.liuyazhuang.com
    127.0.0.1 www.lyz.com

    这两行代码的意思是将www.liuyazhuang.com和www.lyz.com映射到本机的ip地址上。

    2、准备两个站点

    在d:/Apache目录下分别准备两个站点myweb1和myweb2,这两个站点下分别有一个index.html文件,myweb1下index.html内容是"我是第一个站点",myweb2站点下的index.html内容是"我是第二个站点"。

    具体如下图所示:

    好了,到此,站点准备完毕

    二、具体实现

    我们分别讲解两种不同的实现方案

    1、修改Apache的httpd.conf文件

    1)修改监听端口

    在Apache的httpd.conf中,将监听端口修改为8080和8090,具体如下图所示:

    2)注释默认的访问路径

    在httpd.conf文件中找到如下代码:

    DocumentRoot "D:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs"

    将这行代码注释掉,如下图:

    3)打开引入httpd-vhosts.conf文件的注释

    在httpd.conf文件中找到如下代码:

    # Virtual hosts
    #Include conf/extra/httpd-vhosts.conf

    将#Include conf/extra/httpd-vhosts.conf这行代码的注释打开,如下图:

    2、修改Apache的httpd-vhosts.conf文件

    我们说到的方案一和方案二,只是在配置httpd-vhosts.conf文件的时候有所不同。

    方案一、

    将同一个域名的不同端口映射到不同的虚拟主机,不同端口映射到不同的站点

    在httpd-vhosts.conf文件中添加如下代码:

    #配置我们自己的虚拟主机
    <VirtualHost www.lyz.com:8080>
        #配置访问跟目录
        DocumentRoot "d:/Apache/myweb1"
        #这里配置欢迎首页面
        DirectoryIndex index.html index.htm index.php
        <Directory />
        Options FollowSymLinks
        #不允许别人修改我们的页面
        AllowOverride All
        #设置访问权限
        Order allow,deny
        Allow from All
        </Directory>
    </VirtualHost>
    
    #配置我们自己的虚拟主机
    <VirtualHost www.lyz.com:8090>
        #配置访问跟目录
        DocumentRoot "d:/Apache/myweb2"
        #这里配置欢迎首页面
        DirectoryIndex index.html index.htm index.php
        <Directory />
        Options FollowSymLinks
        #不允许别人修改我们的页面
        AllowOverride All
        #设置访问权限
        Order allow,deny
        Allow from All
        </Directory>
    </VirtualHost>

    具体如下图所示:

    启动Apache在浏览器中输入:http://www.lyz.com:8080显示"我是第一个站点",输入:http://www.lyz.com:8090显示"我是第二个站点"。

    方案二、

    将同一个端口映射成不同的域名,不同的域名映射到不同的站点。

    在httpd-vhosts.conf文件中添加如下代码:

    #配置我们自己的虚拟主机
    <VirtualHost *:8080>
        #配置访问跟目录
        DocumentRoot "d:/Apache/myweb1"    
        ServerName www.lyz.com
        #这里配置欢迎首页面
        DirectoryIndex news.html index.html index.htm index.php
        <Directory />
        Options FollowSymLinks
        #不允许别人修改我们的页面
        AllowOverride All
        #设置访问权限
        Order allow,deny
        Allow from all
        </Directory>
    </VirtualHost>
    
    #配置我们自己的虚拟主机
    <VirtualHost *:8080>
        #配置访问跟目录
        DocumentRoot "d:/Apache/myweb2"
        ServerName www.liuyazhuang.com
        #这里配置欢迎首页面
        DirectoryIndex news.html index.html index.htm index.php
        <Directory />
        Options FollowSymLinks
        #不允许别人修改我们的页面
        AllowOverride All
        #设置访问权限
        Order allow,deny
        Allow from all
        </Directory>
    </VirtualHost>

    具体如下图所示:

    启动Apache在浏览器中输入:http://www.lyz.com:8080显示"我是第一个站点",输入:http://www.liuyazhuang.com:8080显示"我是第二个站点"。

    异乡小龟
  • 相关阅读:
    Debian下修改/etc/fstab出错致系统无法启动修正
    三种管理方法[书摘]
    Windows Phone & Windows 8 Push Notification from Windows Azure
    Windows Phone 8 如何在内存与硬件受限的设备上开发
    Windows Phone 8 获取与监听网络连接状态
    Windows Phone 处理 MessageBox导致的应用异常退出以及使用代码方式退出应用
    Windows store 应用调用 SharePoint Service
    嵌入式成长轨迹61 【智能家居项目】【ARM 飞凌ok6410】【在虚拟机Ubuntu下NFS网络文件系统建立】
    嵌入式成长轨迹65 【智能家居项目】【ARM 飞凌ok6410】【飞凌开发板——SD卡一键烧写】
    嵌入式成长轨迹63 【智能家居项目】【ARM 飞凌ok6410】【ARM QT 移植环境搭建问题集锦】
  • 原文地址:https://www.cnblogs.com/scale/p/7444672.html
Copyright © 2011-2022 走看看