首页 云计算文章正文

什么是虚拟主机,apache 虚拟主机

云计算 2024年11月21日 09:37 4 admin

什么是虚拟主机?

虚拟主机也叫“虚拟空间”、“网站空间”就是把一台运行互联网上的服务器划分成多个“虚拟”的服务器,每一个虚拟主机都具有独立域名和完整的Internet服务器(支持WWW、FTP、E-MAIl等)功能。一台服务器上的不同虚拟主机是各自独立的,并由用户自行管理。但一台服务器主机只能够支持一定数量的虚拟主机,当超过这个数量时,用户将会感到性能急剧下降。 虚拟主机技术互联网服务器采用的节省服务器硬体成本的技术,虚拟主机技术主要应用于HTTP服务,将一台服务器的某项或者全部服务内容逻辑划分为多个服务单位,对外表现为多个服务器,从而充分利用服务器硬体资源。如果划分是系统级别的,则称为虚拟服务器。

什么是apache 虚拟主机?

虚拟主机有两种类型: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 区分不同的站点。

apache配置虚拟主机

设置一个name-based 虚拟主机

以linux 环境采用apache 服务器为例,设置虚拟主机,需要有至少一个独立外网IP ,至少一个域名,并且可以修改二级域名,并不要求具有自己的DNS 服务器。

设置虚拟主机,只需要添加以下行到httpd.conf 文件,这个文件一般在/etc/httpd/conf/httpd.conf 可以找到。

NameVirtuAlHost *:80

ServerName www.example.com

ServerAlias example.com

DocumentRoot /var/www/html

ServerName blog.example.com

DocumentRoot /var/www/html/blog

剩下的工作就是去你的域名服务商处,设置DNS 解析,建立两个主机名,分别为www 与blog,指向的IP 相同,均为这台虚拟主机的IP 地址。这样就可以通过www.example.com 与blog.example.com 访问到同一台主机上的不同站点。

题外话:实现形入example.com 的解析,设置主机名为@ ,@ 代表域名自身。实现形入*.example.com 的解析,设置主机名为* 即可。

亿网科技新闻资讯门户 Copyright 2008-2025 南京爱亿网络科技有限公司 苏ICP备14058022号-4 edns.com INC, All Rights Reserved