linux 下apache 配置虚拟主机
2010-04-26 09:39
309 查看
什么是虚拟主机
虚拟主机用于在物理的一台主机上运行多个站点,譬如:www.example1.com、www.example2.com,也可以是这样的:www.example.com、blog.example.com。虚拟主机有两种类型:IP-based 和name-based,前者用于同一台主机上的多个站点具有不同的IP 地址,后者用于同一台主机上的多个站点使用同一个IP 地址,仅依靠名字来区分不同的站点。
apache 1.1 版本之后开始支持这两种虚拟主机类型,平常我们一般谈到和用到的虚拟主机都是第二种类型:name-based 。
name-based 的限制
一些比较古老的浏览器无法正确访问虚拟主机的站点,这是因为部分基于http 1.0 的浏览器不发送http 主机头信息(host header)。所有基于http 1.1 的浏览器和部分比较流行的http 1.0 浏览器则不存在此问题。使用安全套接层协议(SSL)的服务器不能使用虚拟主机,这是由于SSL 协议本身的特性决定的。
一些由操作系统或者网络设备实现的带宽管理技术会遇到问题,因为它们可能无法通过IP 区分不同的站点。
设置一个name-based 虚拟主机
以linux 环境采用apache 服务器为例,设置虚拟主机,需要有至少一个独立外网IP ,至少一个域名,并且可以修改二级域名,并不要求具有自己的DNS 服务器。设置虚拟主机,只需要添加以下行到httpd.conf 文件,这个文件一般在/etc/httpd/conf/httpd.conf 可以找到。
NameVirtualHost *:80 <VirtualHost *:80> ServerName www.example.com ServerAlias example.com DocumentRoot /var/www/html </VirtualHost> <VirtualHost *:80> ServerName blog.example.com DocumentRoot /var/www/html/blog </VirtualHost>
剩下的工作就是去你的域名服务商处,设置DNS 解析,建立两个主机名,分别为www 与blog,指向的IP 相同,均为这台虚拟主机的IP 地址。这样就可以通过www.example.com 与blog.example.com 访问到同一台主机上的不同站点。
题外话:实现形入example.com 的解析,设置主机名为@ ,@ 代表域名自身。实现形入*.example.com 的解析,设置主机名为* 即可。
相关文章推荐
- linux系统之apache基本配置及语言支持及虚拟主机 访问控制
- Apache基于IP、基于port和基于域名的三种虚拟主机的配置方法(linux下)
- LINUX系统apache基于IP,基于port和基于域名的三种虚拟主机的配置方法
- Linux 配置Apache服务器 下(虚拟主机,排错)
- linux系统配置Apache虚拟主机实例
- Linux环境下Apache配置多个虚拟主机挂载多站点同时运行
- Linux运维实战之Apache服务器的高级配置(虚拟主机、status)
- 【Linux】Apache虚拟主机和虚拟目录配置!
- linux上apache配置虚拟主机
- linux下Apache2.2.4 + tomcat5.5+php 一个IP配置多域名,虚拟主机
- linux环境apache多端口配置虚拟主机的方法
- Linux中Apache与php结合以及Apache的虚拟主机配置文件
- linux apache 虚拟站点(主机) 配置,多站点
- linux环境apache多端口配置虚拟主机的方法深入介绍
- 在Red Hat Linux5下构建LAMP网站服务平台之编译安装Apache与配置基于域名的虚拟Web主机
- Linux环境下Apache配置多个虚拟主机挂载多站点同时运行
- Linux下手动安装版apache配置虚拟主机
- Linux环境下Apache配置多个虚拟主机
- Ubuntu Linux Apache虚拟主机的安装配置
- Linux环境下Apache配置多个虚拟主机挂载多站点同时运行