有很多平时喜欢钻研的童鞋会发现,为什么有时候自己访问某XXse网站时,总是更新IP地址,内容却与以前一样。这个时候就要了解虚拟主机的概念了。了解这个概念,能够帮助运维同学,更内涵的隐藏自己的主机,或者让一台apache支持多个网站的共同运营。

参考资料:
1 http://httpd.apache.org/docs/2.2/
2《Apache cookbook》

虚拟主机寻址方式

IP地址方式:每台虚拟主机都有其唯一的IP地址

名称寻址方式:多台虚拟主机会以不同的名称在同一IP地址上运行

 以名称寻址的虚拟主机
使用NameVirtualHost *指令以及<VirtualHost>区块

  1. ServerName 127.0.0.1
  2. NameVirtualHost * #表示所设定的主机可在所有的地址上运行
  3. <VirtualHost *>
  4. ServerName test1.name #默认的第一个主机会接收未列出虚拟主机的请求
  5. DocumentRoot "C:/Apache2.2/htdocs/test1"
  6. </VirutalHost>
  7. <VirtualHost *>
  8. ServerName test2.name
  9. DocumentRoot "C:/Apache2.2/htdocs/test2"
  10. </VirutalHost>
指定一台名称寻址的主机位默认服务器,并在查找不到主机时,转向默认网页

  1. <VirtualHost *>
  2. ServerName default
  3. DocumentRoot /www/htdocs
  4. ErrorDocument 404 /site.html
  5. </VirutualHost>

对特定主机设置多个名称

  1. ServerAlias www.cu.com chinaunix.cu

以IP寻址的虚拟主机

可以在系统上设定多个IP,然后各自支持某个网站

  1. ServerName 127.0.0.1
  2. <VirtualHost 10.0.0.1>
  3. ServerName test.name
  4. DocumentRoot "C:/Apache2.2/htdocs/test1"
  5. </VirtualHost>
  6. <VirtualHost 10.0.0.2>
  7. ServerName test2.name
  8. DocumentRoot "C:/Apache2.2/htdocs/test2"
  9. </VirutalHost>
建立IP寻址的默认虚拟主机

  1. <VirtualHost _default_>
  2. DocumentRoot /www/htdocs
  3. </VirtualHost>
  4. #_default_ 建立虚拟主机,处理所有未设定虚拟主机“地址:端口号”的请求
  5. #_default_ 可与端口号同时使用 _default_:443 会接受443端口号的所有未设定虚拟主机的请求
端口号寻址的虚拟主机

  1. Listen 8080
  2. <VirtualHost 10.0.0.1:8080>
  3. DocumentRoot "C:/Apache2.2/htdocs/test_port8080"
  4. </VirtualHost>
  5. Listen 8081
  6. <VirtualHost 10.0.0.1:8081>
  7. DocumentRoot "C:/Apache2.2/htdocs/test2_port8081"
  8. </VirtualHost>
这种用法不常见,因为请求时,很麻烦,需要填入端口号:比如 www.test.com:8080/
在多个地址上显示相同的网页内容

  1. NameVirtualHost 192.168.1.1
  2. NameVirtualHost 170.1.2.3
  3. <VirtualHost 192.168.1.1 170.1.2.3>
  4. DocumentRoot "C:/Apache2.2/htdocs/test"
  5. </VirtualHost>

Apache虚拟主机-解惑篇的更多相关文章

  1. apache 虚拟主机详细配置:http.conf配置详解

    apache 虚拟主机详细配置:http.conf配置详解 Apache的配置文件http.conf参数含义详解 Apache的配置由httpd.conf文件配置,因此下面的配置指令都是在httpd. ...

  2. Apache虚拟主机配置

    在一个Apache服务器上可以配置多个虚拟主机,实现一个服务器提供多站点服务,其实就是访问同一个服务器上的不同目录.Apache虚拟主机配置有3中方法:基于IP配置.基于域名配置和基于端口配置,这里介 ...

  3. 烂泥:apache虚拟主机的学习与应用

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. 要配置apache的虚拟主机,我们需要分以下几步进行: 1. 检查apache虚拟主机模块 2. 开启apache虚拟主机功能 3. httpd-vho ...

  4. Apache虚拟主机配置(多个域名访问多个目录)

    Apache虚拟主机配置(多个域名访问多个目录) 为了方便管理虚拟主机,我决定使用一种方法,那就是修改httpd-vhosts.conf文件. 第一步首先要使扩展文件httpd-vhosts.conf ...

  5. 配置apache虚拟主机的实例总结

    如何实现apache虚拟主机配置. 1.基于ip地址的虚拟主机Listen 80<VirtualHost 172.20.30.40> DocumentRoot /home/httpd/ht ...

  6. apache虚拟主机安装注意事项

    apache虚拟主机在添加的时候,总是会有一些莫名其妙的问题,后来发现可以使用一个参数去验证的: xxxxx/httpd -S //这个参数会去检查虚拟主机配置的正确性,很好用 因为有时候可能就是缩进 ...

  7. django 项目部署在 Apache 后, 设置二级域名(Apache虚拟主机 、 万网二级域名设置)

    上一篇文章简单说了怎么把django的项目部署到Apache上. 现在想弄个二级域名,也就是我原来有个域名 www.mysite.com,现在我想弄个 bbs.mysite.com ,该怎么做呢. 要 ...

  8. Ubuntu16.04+Apache虚拟主机配置详解

    在window下,Apache的配置文件是httpd.conf,但在Linux下安装了Apache后发现其配置并不像window下那么简单,Linux下Apache将各个设置项分在了不同的配置文件中, ...

  9. windows环境下,apache虚拟主机配置

    在windows环境下,apache从配置文件的相关配置: Windows 是市场占有率最高的 PC 操作系统, 也是很多人的开发环境. 其 VirtualHost 配置方法与 Linux 上有些差异 ...

随机推荐

  1. mybatis association表关联与rowbounds共同使用时的异常及其解决方案

    按照mybatis手册中所说的,association有两种实现方式,嵌套查询和嵌套结果映射.如手册中所述,select方式会带来N+1次查询的问题,考虑到效率问题的话建议使用嵌套结果映射.但是在结合 ...

  2. MySQL脚本自动安装mysql-5.6.15-linux-glibc2.5-x86_64.tar.gz

    脚本安装mysql-5.6.15-linux-glibc2.5-x86_64.tar.gz 先准备好数据文件的路径 softdir='/data/soft' 把脚本和tar包放在相应的路径下,其实就是 ...

  3. 数据校验(3)--demo2---bai

    input_user.jsp <%@ page language="java" import="java.util.*" pageEncoding=&qu ...

  4. [phonegap]安装升级

    安装 npm install -g phonegapnpm install -g phonegap@版本号    比如 npm install -g phonegap@3.3.0-0.19.6 升级 ...

  5. 2015.1.15 利用Oracle函数插入表结构 Bulk collect into 不用循环,简洁高效

    如果表结构只对应一个字段,可以 select col1 bulk collect into 变量,不用游标循环,简洁高效 create or replace function get_airway_s ...

  6. paramiko远程

    安装paramiko后,看下面例子: 复制代码代码如下: import paramiko #设置ssh连接的远程主机地址和端口t=paramiko.Transport((ip,port))#设置登录名 ...

  7. 使用setTimeout 来实现setInterval的效果

    直接上代码,实现的核心就是在延时的情况下递归的调用自己, x=0 y=-1 function countMin( ) { y=y+1 document.displayMin.displayBox.va ...

  8. DAY8-python异常处理

    一.什么是异常 异常就是程序运行时发生错误的信号(在程序出现错误时,则会产生一个异常,若程序没有处理它,则会抛出该异常,程序的运行也随之终止),在python中,错误触发的异常如下 而错误分两种 #语 ...

  9. 常见浏览器bug以及解决方法

    1.图片下方3像素: (1).描述:在div中插入图片时,图片会将div下方撑大三像素. (2).hack1:将</div>与<img>写在一行上(可以解决ie6/7): (3 ...

  10. 基于C++求两个数的最大公约数最小公倍数

    求x,y最大公约数的函数如下: int gys(int x,int y) { int temp; while(x) {temp=x; x=y%x; y=temp;} return y; } x=y的时 ...