Apache下服务器虚拟主机设置方法介绍

一、WWW服务器虚拟主机原理

WWW服务器虚拟主机是指使用一台物理机器,充当多个主机名的WWW服务器。比如由一台机器同时提供http://www.company1.com, http://www.company2.com 等的WWW服务,而浏览这些WWW站点的用户感觉不到这种方式下跟由不同的机器提供不同的服务有什么差别。

使用WWW虚拟主机的好处在于,一些小规模的网站,通过跟其他网站共享同一台物理机器,可以减少系统的运行成本,并且可以减少管理的难度。另外,对于个人用户,也可以使用这种虚拟主机方式来建立有自己独立域名的WWW服务器,目前国内有很多公司都提供这种免费的服务。

WWW虚拟主机有两种工作方式:

1.1 基于IP地址的虚拟主机方式

这种方式下,不同的主机名解析到不同的IP地址,提供虚拟主机服务的机器上同时设置有这些IP地址。服务器根据用户请求的目的IP地址来判定用户请求的是哪个虚拟主机的服务,从而进一步的处理。

缺点:基于IP地址的虚拟主机方式需要在提供虚拟主机服务的机器上设立多个IP地址,既浪费了IP地址,又限制了一台机器所能容纳的虚拟主机数目。因此这种方式越来越少使用。但是,这种方式是早期使用的HTTP 1.0协议唯一支持的虚拟主机方式。

1.2 基于主机名的虚拟主机方式

由于基于IP地址的虚拟主机方式有如上的缺点,HTTP 1.1协议中增加了对基于主机名的虚拟主机的支持。具体说,当客户程序向WWW服务器发出请求时,客户想要访问的主机名也通过请求头中的“Host:”语句传递给WWW服务器。比如,www.company1.com, www.company2.com 都对应于同一个IP地址(即由同一台机器来给这两个虚拟域名提供服务),客户程序要存取http://www.company1.com/index.html时,发出的请求头中包含有如下的内容:

GET /index.html HTTP/1.1

Host: www.company1.com

…..

WWW服务器程序接收到这个请求后,可以通过检查“Host:”语句,来判定客户程序请求是哪个虚拟主机的服务,然后再进一步的处理。

优点:提供虚拟主机服务的机器上只要设置一个IP地址,理论上就可以给无数多个虚拟域名提供服务,占用资源少,管理方便。目前基本上都是使用这种方式来提供虚拟主机服务。

缺点:在早期的HTTP 1.0版本下不能使用。实际上现在使用的浏览器基本上都支持基于主机名的虚拟主机方式。

二、Apache服务器下的虚拟主机设置技术

2.1 Apache WWW服务器简介

Apache WWW服务器是目前Internet上使用最广的WWW服务器软件。通过灵活的配置,它可以完成几乎您想得到的功能。本文主要介绍在Apache 下设置各种虚拟主机的方法。

2.2 Apache WWW服务器下基于IP地址的虚拟主机设置

使用这种虚拟主机方式,首先要在服务器上为每个虚拟主机单独设置一个IP地址。这些IP地址可以通过增加多个网卡或者在一个网卡上设立多个IP地址来完成。有了多个IP地址后,可以采用以下两种方式之一来设置Apache:

2.2.1 为每个虚拟主机运行一份Apache

采用这种方式,每一份Apache程序可以以单独的用户运行,因此各个虚拟主机之间互不影响。设置这种虚拟主机时,只要为每一份Apache设置一套配置文件就可以了,唯一需要注意的是:必须使用“Listen”语句,强制每一份Apache 仅仅在属于“自己”的IP地址上接收服务请求。

优点:各个虚拟主机之间互不干扰,安全性高。

缺点:占用系统资源较多。

2.2.2多个虚拟主机共享同一份Apache

采用这种方式,各个虚拟主机共享同一份Apache,因此各个虚拟主机之间有一定的影响,尤其是执行CGI程序时,可能会带来一些严重的安全问题。设置这种虚拟主机时,只要为每一个虚拟主机设置类似如下的信息即可:

<VirtualHost www.company1.com>;
DocumentRoot /home/company1

</VirrualHost>;

优点:占用系统资源比上一种方式少。

缺点:安全性低,每个虚拟主机仍然需要占用一个IP地址。

时间: 2025-01-20 14:22:24

Apache下服务器虚拟主机设置方法介绍的相关文章

Apache下服务器虚拟主机的设置方法介绍

一.WWW服务器虚拟主机原理 WWW服务器虚拟主机是指使用一台物理机器,充当多个主机名的WWW服务器.比如由一台机器同时提供http://www.company1.com, http://www.company2.com 等的WWW服务,而浏览这些WWW站点的用户感觉不到这种方式下跟由不同的机器提供不同的服务有什么差别. 使用WWW虚拟主机的好处在于,一些小规模的网站,通过跟其他网站共享同一台物理机器,可以减少系统的运行成本,并且可以减少管理的难度.另外,对于个人用户,也可以使用这种虚拟主机方式

Apache下的虚拟主机设置

一.WWW服务器虚拟主机原理 WWW服务器虚拟主机是指使用一台物理机器,充当多个主机名的WWW服务器.比如由一台机器同时提供http://www.company1.com, http://www.company2.com 等的WWW服务,而浏览这些WWW站点的用户感觉不到这种方式下跟由不同的机器提供不同的服务有什么差别. 使用WWW虚拟主机的好处在于,一些小规模的网站,通过跟其他网站共享同一台物理机器,可以减少系统的运行成本,并且可以减少管理的难度.另外,对于个人用户,也可以使用这种虚拟主机方式

Windows系统环境下安装Apache并配置虚拟目录的方法介绍

本文极为简要的介绍了如何在Windows平台下安装Apache2.2.x并配置虚拟目录. 以作为快速安装的参考. 详细的设置最好的文档是官方的说明文档见下方的链接, 在安装配置的时候仔细的查阅文档是很好的解决办法. 1. Apache HTTP Server Version 2.2 英文文档 2. Apache HTTP Server Version 2.2 中文文档 ---------- 准备条件 ---------- 到 http://httpd.apache.org/ 下载相应版本的Apa

Apache下域名虚拟主机在个人主页目录上实现过程

实验背景: Contoso目前是提供虚拟主机的公司.xiaonuo公司和dreamfire公司想在Contoso上申请虚拟主机为各自公司提供web服务.要求申请的域名分别为www.xiaonuo.com和www.dreamfire.com.为了节省IP地址,决定使用主机头区分各个虚拟主机. 实验步骤: 一.Apache的安装(开发源代码应用程序的编译安装) RHEL4默认安装了Apache服务,根目录在/etc/httpd/下,主配置文件在/etc/httpd/conf/httpd.conf下,

Windows 中 Apache配置 与 虚拟主机 设置

下载Apache:http://httpd.apache.org/download.cgi 安装步骤略过.... 安装完 Apache 程序后,Monitor apache servers 无法启动,图标显示为红色停止标志.鼠标移至任务栏 Apache 服务图标显示 "No services installed",原因如下: Apache 服务没有安装成功 如果 Apache 服务程序成功安装,那么我们可以通过右键"我的电脑" ->"管理"

php 在windows下配置虚拟目录的方法介绍

先打开Apache的conf目录下的httpd.conf文件,在末尾添加如下代码: 复制代码 代码如下: <VirtualHost *:80> ServerName www.mydemo.com DocumentRoot "D:/mydemo" <Directory "D:/mydemo"> Options FollowSymLinks IncludesNOEXEC Indexes DirectoryIndex index.html inde

windows apache多端口虚拟主机配置方法_Linux

1.打开httpd.conf,查找Listen:80,在下面一行加入Listen:8080:2.查找#Include conf/extra/httpd-vhosts.conf,将此行前面的#去掉:3.打开httpd.conf文件目录下面的extra文件夹下面的httpd-vhosts.conf文件:4.查找NameVirtualHost *:80,在下面一行增加NameVirtualHost *:8080:5.复制httpd-vhosts.conf文件最下面的如下代码,并且在下面粘贴一份: 复制

php 在windows下配置虚拟目录的方法介绍_php技巧

先打开Apache的conf目录下的httpd.conf文件,在末尾添加如下代码: 复制代码 代码如下: <VirtualHost *:80> ServerName www.mydemo.com DocumentRoot "D:/mydemo"<Directory "D:/mydemo">  Options FollowSymLinks IncludesNOEXEC Indexes DirectoryIndex index.html inde

Apache 多站点虚拟主机配置方法_Linux

修改配置文件 conf/httpd.conf 1.加入下面两句 NameVirtualHost *:80 Include conf/vhosts 2.在conf目录中建立vhosts目录 然后在 vhosts 目录下面建立相应的站点配置文件 如建立 hhj.jb51.net.conf 文件 内容: 复制代码 代码如下: <VirtualHost *:80> ServerAdmin hhj@live.it ServerName www.hhj.jb51.net ServerAlias hhj.j