Apache构建虚拟Web主机

Apache HTTP Server是开源软件项目的杰出代表,基于标准的HTTP网络协议提供网页浏览服务,在Web服务器领域中长期保持着超过半数的份额。Apache服务器可以运行在Linux、UNIX、Windows等多种操作系统平台中。

Apache的主要特点:

  • 开放源代码
  • 跨平台应用
  • 支持各种Web编程语言
  • 模块化设计
  • 运行非常稳定
  • 良好的安全性


在同一台Apache服务器中运行多个web站点,其中的每一个站点实际上不会占用着整个服务器,通过虚拟web主机服务可以充分利用服务器的硬件资源,从而降低网站构建以及运行成本。虚拟主机主要类型分为三种:

  1. 基于IP端口
    对每个不用域名的虚拟主机设置单独IP,因此,在服务器中需要设置多个网卡,对于硬件成本和IP成本要求都高,此种方式在实际中不常用,本文暂且略过。
  2. 基于端口IP
    使用TCP不用端口来区分不用的站点内容,需要在用户访问站点时跟上指定端口号才可实现访问。
  3. 基于主机名
    每个服务器主机可以构建多个不用域名服务器,但都使用相同IP地址;此种方式在实际中较为常用。

实验环境:

  • RHEL6.5操作系统
  • 服务器IP地址:192.168.100.110
  • RHEL镜像光盘挂载至/mnt目录下

环境部署

1.检查并安装httpd服务器

rpm -q httpd               //检查httpd服务器是否已安装
httpd-2.2.15-29.el6_4.x86_64                   //已安装httpd服务器

2.关闭防火墙和增强安全功能

service iptables stop
setenforce 0

建立Apache虚拟目录(用户访问控制)

vim /etc/httpd/conf/httpd.conf           //编辑httpd配置文件

Listen 192.168.100.110:80 //更改监听地址和监听端口
#Listen 80 //注释IPV6的监听
ServerName www.yun.com:80 //设置主机名

vim /etc/httpd/conf.d/vdir.conf //在子配置目录下创建虚拟目录配置文件vdir.conf

//以下为写入vdir.conf中的内容
Alias /test "/opt/test/" //设置别名
<Directory "/opt/test/"> //定义虚拟目录
Options Indexes MultiViews FollowSymLinks
AllowOverride None
AuthName "hello" //认证名称
authtype basic //基本认证方式
authuserfile /etc/httpd/user //指定用户认证文件存放位置
#authgroupfile /etc/httpd/group
#require Valid-user //设置用户访问权限
#require user test
#Require group admin
</Directory>

mkdir –p /opt/test          //创建虚拟目录站点
echo “this is vdir test” > /opt/test/index.html     //新建站点首页
service httpd start     //开启httpd服务

用户授权访问:

vim /etc/httpd/conf.d/vdir.conf     //编辑服务子配置文件

<Directory "/opt/test/"> //定义虚拟目录
Options Indexes MultiViews FollowSymLinks
AllowOverride None
AuthName "hello" //认证名称
authtype basic //基本认证方式
authuserfile /etc/httpd/user //指定用户认证文件存放位置
#authgroupfile /etc/httpd/group
require Valid-user //设置用户访问权限
#require user test
#Require group admin
</Directory>

htpasswd –c /etc/httpd/user zhangsan            //创建授权访问用户zhangsan
service httpd restart               //重启httpd服务

再次访问网页时会跳出账号密码验证登录窗口:

相同IP不同端口情况下:

1. 在/etc/httpd/conf.d目录下新建vport.conf(虚拟目录文件)

cd /etc/httpd/conf.d/
vim vport.conf                  //新建vport.conf配置文件

写入以下内容:

NameVirtualHost 192.168.100.110:80 //虚拟主机IP地址及端口号
<VirtualHost 192.168.100.110:80>
ServerAdmin [email protected] //管理员邮箱
DocumentRoot /opt/yun/ //网页站点目录
ServerName www.yun.com //域名
ErrorLog logs/benet.com-error_log //错误日志
CustomLog logs/benet.com-access_log common //访问日志
</VirtualHost>
NameVirtualHost 192.168.100.110:81 //虚拟主机IP地址及端口号
<VirtualHost 192.168.100.110:81>
ServerAdmin [email protected] //管理员邮箱
DocumentRoot /opt/yun01/ //网页站点目录
ServerName www.yun.com //域名
ErrorLog logs/benet.com-error_log //错误日志
CustomLog logs/benet.com-access_log common //访问日志
</VirtualHost>

2. 创建yun、yun01的站点目录,新建各站点首页文件

mkdir /opt/yun /opt/yun01       //创建站点目录
echo ”yun port 80 test” > /opt/yun/index.html   //添加yun站点的首页内容
echo ”yun01 port 81 test” > /opt/yun01/index.html  //添加yun01站点的首页内容

3. 修改httpd.conf配置文件

vim /etc/httpd/conf/httpd.conf
Listen 192.168.100.110:81           //添加81端口的监听地址

4. 重启httpd服务

service httpd restart

5. 测试


相同IP不同主机情况下:

1. 在/etc/httpd/conf.d目录下新建vhost.conf

cd /etc/httpd/conf.d/
vim vhost.conf          //新建vhost.conf配置文件

写入以下内容:

NameVirtualHost 192.168.100.110:80 //虚拟主机名称
<VirtualHost 192.168.100.110:80>
ServerAdmin [email protected] //管理员邮箱
DocumentRoot /opt/benet/ //网站站点目录
ServerName www.benet.com //域名
ErrorLog logs/benet.com-error_log //错误日志
CustomLog logs/benet.com-access_log common //访问日志
</VirtualHost>

mkdir /opt/benet            //创建www.benet.com的站点
echo “this is benet” > /opt/benet/index.html        //创建首页及添加内容

2. 安装DNS服务器

安装bind软件包:

rpm –ivh /mnt/Packages/bind-9.8.2-0.17.rc1.el6_x86_64.rpm

编辑主配置文件

vim /etc/named.conf

options {
listen-on port 53 { 192.168.100.110; };
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query { any; };
recursion yes;

编辑区域配置文件

vim /etc/named.rfc1912.zones

zone "yun.com" IN {
type master;
file "yun.com.zone";
allow-update { none; };
};

zone "benet.com" IN {
type master;
file "benet.com.zone";
allow-update { none; };
};

在/var/named目录下复制模板文件

cd /var/named
cp –p named.localhost yun.com.zone

编辑区域数据配置文件

vim yun.com.zone

cp –p yun.com.zone benet.com.zone     //yun和benet区域数据配置文件相同,可直接复制

3.启动(重启)named及httpd服务:

service httpd restart
service named start

4.测试


原文地址:http://blog.51cto.com/13625810/2126218

时间: 2024-10-13 21:24:36

Apache构建虚拟Web主机的相关文章

Apache之虚拟web主机的构建

[TOC] 文章目录 一.虚拟主机概述 二.实验准备 三.基于域名---构建虚拟主机 3.1.DNS解析 3.2.为虚拟主机准备网页文档 3.3.虚拟主机配置 3.4.httpd服务 3.5.结果验证 四.基于端口-构建虚拟主机 4.1.实验环境 4.2.实验过程 五.基于IP-构建虚拟主机 5.1.应用示例 5.2.实验操作 一.虚拟主机概述 虚拟Web主机 在同一台服务器中运行多个Web站点,其中每一一个站点并不独立占用一台真正的计算机 httpd支持的虚拟主机类型 基于域名的虚拟主机 基于

理论+实操:apache 的虚拟web主机配置

@[toc]apache 常用的功能,虚拟主机 一:虚拟Web主机 在同一台服务器中运行多个Web站点,其中每一个站点并不独立占用一台真正的计算机 1.1 httpd支持的虚拟主机类型(三种) 基于域名的类型 基于IP地址的虚拟主机 基于端口的虚拟主机例如:www.kgc.omwww.accp.comIP相同,端口相同 IP不同,端口相同 IP相同,端口不通 二:构建虚拟主机基于域名的实验 2.1.1 安装软件包 [[email protected] ~]# yum install bind h

构建虚拟web主机

虚拟Web主机指的是在同一台服务器中运行多个Web站点,其中的每一个站点实际上并不 独自占用整个服务器,因此被称为"虚拟Web主机". 通过虚拟Web主机服务可以充分利用 服务器的硬件资源,从而大大降低网站构建及运行成本 使用httpd可以非常方便地构建虚拟主机服务器,只需要运行一个httpd服务就能够同时支撑 大量的Web站点.Httpd支持的虚拟主机类型包括以下三种: 基于域名的虚拟主机 : 不同的域名 相同的IP 基于端口的虚拟主机 : 不使用域名.IP来区分不同站点的内容,而是

CentOS 7 中httpd服务构建虚拟Web主机详解

虚拟Web主机指的是在同一台服务器中运行多个Web站点,其中的每个站点实际并不独立占用整个服务器,因此被称为"虚拟"Web主机.通过虚拟Web主机服务可以充分利用服务器的硬件资源,从而大大降低网站构建及运行成本. 使用httpd服务可以非常方便地构建虚拟主机服务器,只需要运行一个httpd服务就能同事支撑大量的Web站点. httpd服务支持的虚拟主机类型包括以下三种: 基于域名:为每个虚拟主机使用不同的域名,但是其对应的IP地址是相同的: 基于IP地址:为每个虚拟主机使用不同的域名,

CentOS7构建虚拟Web主机(基于域名、端口、IP地址)

虚拟Web主机 在同一台物理服务器中运行多个Web站点,其中每一一个站点并不独立占用一台真正的计算机. httpd支持的虚拟主机类型 基于域名的虚拟主机 基于IP地址的虚拟主机 基于端口的虚拟主机 构建虚拟主机------基于域名 (1)安装bind.httpd服务. (2)进入named服务的主配置文件,将下图两个位置改为"any". [[email protected] ~]# vim /etc/named.conf (3)进入named服务的区域配置文件,添加两个域名的区域信息.

2.4 httpd 构建虚拟Web主机的三种方式

##############################构建Web虚拟主##################################httpd支持的虚拟主机类型包括以下三种.基于域名:为每个虚拟主机使用不同的域名,但是其对于的ip地址是相同的.基于IP地址:为每个虚拟主机使用不同的域名,且各自对于的ip地址也不相同.基于端口:不使用域名,IP地址来区分不同的站点内容,而是使用了不同的TCP端口号.` #################################基于IP地址的虚拟

第二章 Web网站服务(二)——搭建基于域名的虚拟web主机

防伪码:自古逢秋悲寂寥,我言秋日胜春朝 web网站服务(二) 一.httpd服务的访问控制 作用: a.控制对网站资源的访问 b.为特定的网站目录添加访问授权 常用访问控制方式: a.客户机地址限制 b.用户授权限制 二.基于客户端地址的访问控制 Order配置项,定义控制顺序 先允许后拒绝,默认拒绝所有:Order allow,deny 先拒绝后允许,默认允许所有:Order deny,allow Allow.Deny配置项,设置允许或拒绝的地址 Deny from address1 addr

Apache配置与应用,虚拟目录;访问控制;虚拟Web主机(多域名;多端口),

1,虚拟目录 Httpd  虚拟目录 便于网站管理和维护,内容分类.例如: hhtpd://www.benet.com/news  新闻 Httpd://www.benet.com/edu   学习 以redhat6.5系统为例进行配置(系统默认自带httpd服务),首先修改httpd.conf配置文件 , (1)建立一个web站点www.benet.com vim  /etc/httpd/conf/httpd.conf 添加站点首页文档index.html (2)并搭建一个DNS服务,解析域名

虚拟Web主机的应用

为了降低网站构建及运行成本 ,出现了"虚拟Web主机".在同一服务器上运行多个Web站点的应用, 其中每一个站点实际上并不独立占用整个服务器,使用虚拟Web主机可以充分利用服务器的硬件资源,大大 降低网站构建及运行成本(本实验紧凑Web服务基本搭建和访问控制) 下面来了解下虚拟Web主机的运作和DNS的结合案例: 一.新建HTTP子配置文件 [[email protected]_1 ~]# cd /etc/httpd/conf.d/ [[email protected]_1 conf.