Apache的虚拟主机是一种允许在同一台机器上,运行超过一个网站的解决方案。虚拟主机有两种,一种叫基于IP的(IP-based),另一种叫基于名字的(name-based)。虚拟主机的存在,对用户来说是透明的。

基于IP的虚拟主机:
对于基于IP的虚拟主机来说,必须为每个虚拟主机配备一个单独的IP。也就是说你的服务器必须有多个IP地址。对于这种方式,我们在本地就可以做一个实验来进行配置。
配置基于IP的虚拟主机,有两种方法:一是启动多个apache伺服程序,每个实例使用单独的配置文件,一般来说,在同一台机器上,架设两个网站,这两个网站互相之间不希望对方访问自己的文件,就使用这种方式,每个apache实例都是用单独的用户名,组来启动,并且放到不同的目录下,这种方式只要在apche的配置文件中,为Listen命令配置不同的ip即可;
第二种方法是只启动一个单一的apache进程,使用VirtualHost指令来为不同的站点,配置不同的值,这种配置方式,我们可以在本地做个试验的,由于127.0.0.*的所有ip都是指向本机的,所以,我们可以随便拿两个出来做实验,按照如下方式配置apache,之后,在hosts文件中,将域名绑定到配置的ip上,就可以实现在本地运行多个wp系统的一个配置:
    <VirtualHost 127.0.0.1:80>
        ServerAdmin yourname@domain.com
        DocumentRoot "E:/server110.com/wordpress-latest"
        ServerName server110.com
        ServerAlias www.server110.com
        ErrorLog "logs/wplatest.com-error.log"
        CustomLog "logs/server110.com-access.log" combined
    </VirtualHost>
    <VirtualHost 127.0.0.2:80>
        ServerAdmin yourname@domain.com
        DocumentRoot "E:/server110.com/wordpress-2.9.2"
        ServerName server110.com
        ServerAlias www.server110.com
        ErrorLog "logs/server110.com-error.log"
        CustomLog "logs/server110.com-access.log" combined
    </VirtualHost>

基于名字的虚拟主机:
基于名字的虚拟主机比起基于IP的来说,配置要更加简单,它只要依靠客户端发送的HTTP头信息中的HOST字段来判断,服务器到底要服务哪个虚拟主机。一般情况下,还是比价推荐使用这种方式。因为IP资源日渐稀缺,对于一般用户来说,为一台服务器购买多个IP也是成本较高的。
使用这种方式配置时,首先是用NameVirtualHost指令,配置次apache实例监听的IP地址和端口号,然后使用VirtualHost指令来配置不同的虚拟主机,上述的例子,用这种方式配置的话,配置方法如下(注意,在这种方式中,ServerName是必填字段):
    NameVirtualHost 127.0.0.1:80
    <VirtualHost *:80>
        ServerAdmin yourname@domain.com
        DocumentRoot "E:/server110.com/wordpress-latest"
        ServerName server110.com
        ServerAlias www.server110.com
        ErrorLog "logs/server110.com-error.log"
        CustomLog "logs/server110.com-access.log" combined
    </VirtualHost>
    <VirtualHost *:80>
        ServerAdmin yourname@domain.com
        DocumentRoot "E:/baidu.com/wordpress-2.9.2"
        ServerName baidu.com
        ServerAlias www.baidu.com
        ErrorLog "logs/baidu.com-error.log"
        CustomLog "logs/baidu.com-access.log" combined
    </VirtualHost>
此种配置方法,也可以在本地简单地进行实验。

Apache配置多个网站的方法的更多相关文章

  1. Apache配置多个网站

    你可以全用本地私有ip地址创建多个站点 127.0.0.x,这个网段的所有ip都是指向本机的,并且可以区分,这是计算机的私有ip地址,供测试用的,配置方法如下 一.打开httpd.conf 1.从Se ...

  2. Apache 配置多端口网站

    跳过安装步骤. 1. apache安装目录/conf/httpd.conf,如果你是采用wamp集成环境,那么在 wamp/bin/apache下. 2. 在httpd.conf中,找到 #LoadM ...

  3. apache virtualhost配置 apache配置多个网站

    第一步 apache下httpd.conf文件 启用模块LoadModule vhost_alias_module modules/mod_vhost_alias.so 第二步 apache下http ...

  4. XAMPP Apache 配置多端口和多域名方法

    我们在工作中经常遇到同时调试多个网站的情况,那么如何配置呢?就像平时访问网站一样,网站 a.com 与网站 b.com 截然不同.这都是常见现象,如果在局域网中要访问另外一台电脑上的多个网站,就需要使 ...

  5. 网站环境apache + php + mysql 的XAMPP,如何实现一个服务器上配置多个网站?

    xampp 是一个非常方便的本地 apache + php + mysql 的调试环境,在本地安装测试 WordPress 等各种博客.论坛程序非常方便.今天我们来给大家介绍一下,如何使用 XAMPP ...

  6. 在一台服务器上搭建多个网站的方法(Apache版)

    Apache的配置文件一般放置在/etc/httpd/conf文件夹下,httpd.conf是它的主配置文件,在进行配置时可以将虚拟主机的配置文件单独配置,如取名为vhost.conf,然后再http ...

  7. 配置子目录Web.config使其消除继承,用虚拟目录创建多个网站的方法

    来源:http://www.wtnzone.com/post/2011/02/20/Set-Web-Config-to-Turn-Inheritance-Off.aspx ASP.NET提供了强大的W ...

  8. 网站安全配置(Nginx)防止网站被攻击(包括使用了CDN加速之后的配置方法)

    原文链接:http://www.bzfshop.net/article/176.html 网站被攻击是一个永恒不变的话题,网站攻击的方式也是一个永恒不变的老套路.找几百个电脑(肉鸡),控制这些电脑同时 ...

  9. vue配置手机通过IP访问,Win10让局域网内其他电脑通过IP访问网站的方法

    vue配置手机通过IP访问config/index.js// Various Dev Server settings host: '0.0.0.0', // can be overwritten by ...

随机推荐

  1. [WinAPI] 串口1-创建[包括: 打不开串口]

    本来是用一个USB扩展把一个USB括成4个,然后把USB转串口连接上,虽然设备管理器可以找到用SSCOM也能找到,但是用API就是打不开,最后把USB转串插在电脑的一个USB上就可以啦! #inclu ...

  2. PowerDesigner 15.1 安装步骤详细图解及破解

    准备工作: 下载 PowerDesigner 15.1 的安装文件和破解文件 PowerDesigner 15.1 下载地址:http://pan.baidu.com/share/link?share ...

  3. linux(CentOS)-nodejs项目部署

    系统:CentOS 64位(查看系统位数请执行命令:getconf LONG_BIT) 1.到http://nodejs.org/download/找到系统对应的安装文件 执行如下命令: wget h ...

  4. js运动:多div变宽、二级菜单

    定时器及运动函数. 多div变宽: <!-- Author: XiaoWen Create a file: 2016-12-13 09:36:30 Last modified: 2016-12- ...

  5. java-一个小练习

    输出自己的姓名: public class test01 { public static void main(String[] args) { System.out.println(" # ...

  6. Maven学习总结(四)——Maven核心概念——转载

    一.Maven坐标 1.1.什么是坐标? 在平面几何中坐标(x,y)可以标识平面中唯一的一点. 1.2.Maven坐标主要组成 groupId:组织标识(包名) artifactId:项目名称 ver ...

  7. iframe父子页面调用小结

     子页面调用父页面 $('#Id', window.parent.document); //调用父页面元素 window.parent.func1(); //调用父页面方法  (子页面同理,需将js方 ...

  8. ArcGIS Server新建主题图服务的步骤

    ArcGIS Server新建主题图服务的步骤: 1.修改数据库模型图(PowerDesigner) 2.修改lygis.gdb文件数据库(发布时可以快速把表结构从gdb数据库拷贝到客户服务器的SDE ...

  9. 微软BI 之SSIS 系列 - 利用 SSIS 模板快速开发 SSIS Package

    开篇介绍 在做 ETL 项目的时候,往往很多 Package 的开发都是基于相同的模型和流程.比如在 Package 开始运行时需要向 Process Log 表中插入记录,在 Package 运行结 ...

  10. 为CentOS 6 配置本地YUM源

    在网上找了很多为CentOS 6配置本地YUM源的方法,其中有很多是与网络相关的,我只想配个自己用的,结果就发现这个方法比较简单实用,就转过来了. 环境:CentOS 6.0 默认的yum是以网络来安 ...