red hat 6&red hat 7 Apache网站搭建(二)虚拟主机

虚拟Web 主机指的是在同一台服务器中运行多个Web 站点,其中的每一个站点实际上并不

独立占用整个服务器,因此被称为‘虚拟”Web 主机。通过虚拟Web 主机服务可以充分利用服务

器的硬件资源,从而大大降低网站构建及运行成本。

使用httpd 可以非常方便地构建虚拟主机服务器,只需要运行一个httpd 服务就能够同时支撑

大量的Web站点。httpd支持的虚拟主机类型包括以下三种。

基于域名: 为每个虚拟主机使用不同的域名,但是其对应的IP 地址是相同的。例如,

www.benet.com和www.accp com站点的地址都是173.17 17.11.这是使用最为普

遍的虚拟Web 主机类型。

基于IP地址:为每个虚拟主机使用不同的域名,且各自对应的P地址也不相同。这种方

式需要为服务器配备多个网络接口,因此应用并不是非常广泛。

基于端口:这种方式并不使用域名、IP 地址来区分不同的站点内容,而是使用了不同的

TCP 端口号,因此用户在浏览不同的虚拟站点时需要同时指定端口号才能访问。

在上述几种虚拟Web主机中,基于域名的虚拟主机是使用最为广泛的。也是本节介绍的重点

内容,关于另外两种类型的虚拟主机,将只介绍其配置要点。另外,因不同类型的虚拟主机建

分机制各不相同,建议不要同时使用,以免相互混淆。

实验环境:一台装有red hat 7的主机或者red hat 6的系统,已经搭建好Apache网站,YUM仓库

1.我们先配置DNS服务器,用来解析域名。(这里就不用源码包安装了,也不做过多的介绍,下一个博客写DNS服务器,使用yum进行安装)

[[email protected] ~]# yum install -y bind bind-utils

2.修改全局配置文件

[[email protected] ~]# vim /etc/named.conf

options {

listen-on port 53 { any; };

allow-query     { any; };

}

3.修改区域配置文件

[[email protected] ~]# vim /etc/named.rfc1912.zones

添加以下内容

zone "benet.com" IN {

type master;

file "benet.com.zone";

allow-update { none; };

};

zone "accp.com" IN {

type master;

file "accp.com.zone";

allow-update { none; };

};

4.修改区域数据配置文件

[[email protected] ~]# cd /var/named/

[[email protected] named]# cp -p named.localhost benet.com.zone

$TTL 1D

@       IN SOA  @ rname.invalid. (

0       ; serial

1D      ; refresh

1H      ; retry

1W      ; expire

3H )    ; minimum

NS      @

A       127.0.0.1

AAAA    ::1

PTR     localhost.

www     IN A    192.168.100.70

~

5.将benet的配置文件拷贝成accp

[[email protected] named]# cp -p benet.com.zone accp.com.zone

6.将本机的地址写入库文件中

[[email protected] named]# echo "namedserver 192.168.100.70" >/etc/resolv.conf

7.启动DNS服务

[[email protected] named]# service named start

1.准备虚拟机文档

[[email protected] ~]# mkdir -p /var/www/html/benet

[[email protected] ~]# mkdir -p /var/www/html/accp

2.写一个网页导入到目录中

echo "<h1>www.benet.com</h1>" >/var/www/html/benet/index.html

echo "<h1>www.accp.com</h1>" >/var/www/html/accp/index.html

3.创建一个目录写虚拟机的配置文件

[[email protected] ~]# mkdir /usr/local/apache/conf.d

4.在目录中创建一个虚拟主机的文档,一个虚拟路径的文档

[[email protected] conf.d]# vim vdir.conf

Alias /test/ "/var/www/html/benet"

<Directory "/opt/benet">

Options Indexes MultiViews FollowSymLinks

AllowOverride None

Order allow,deny

Allow from all

Require all granted

</Directory>

Alias /test1/ "/opt/accp"

<Directory "/var/www/html/accp">

Options Indexes MultiViews FollowSymLinks

AllowOverride None

Order allow,deny

Allow from all

Require all granted

</Directory>

Order 配置项可以设置为“allow.deny" 或"deny,allow
以决定主机应用“允许”和“拒绝”
策略的先后顺序。
allow.deny: 先“允许”后“拒绝”,默认拒绝所有未明确允许的客户机地址,
deny,allow: 先“拒绝”后
允许,默认允许所有未明确拒绝的客户机地址。

(以上没解释的请参考上一个博文)

[[email protected] conf.d]# vim vhost.conf

(基于域名的虚拟主机,需要在本机或者linux上添加hosts指向)

windows如下

C:\Windows\System32\drivers\etc(默认路径)

192.168.100.70   www.accp.com

192.168.100.70   www.benet.com

<VirtualHost 192.168.100.70:80>

ServerAdmin [email protected]

DocumentRoot /var/www/html/accp

ServerName www.accp.com

ErrorLog logs/bjxh.com-error_log

CustomLog logs/bjxh.com-access_log common

</VirtualHost>

<Directory "/var/www/html/accp">

Options Indexes MultiViews FollowSymLinks

AllowOverride None

Order allow,deny

Allow from all

Require all granted

</Directory>

<VirtualHost 192.168.100.70:80>

ServerAdmin [email protected]

DocumentRoot /var/www/html/benet

ServerName www.benet.com

ErrorLog logs/bjxh.com-error_log

CustomLog logs/bjxh.com-access_log common

</VirtualHost>

<Directory "/opt/benet/">

Options Indexes MultiViews FollowSymLinks

AllowOverride None

Order allow,deny

Allow from all

Require all granted

</Directory>

<VirtualHost 192.168.100.70:80>

ServerAdmin [email protected]

DocumentRoot /var/www/html/accp

ServerName www.accp.com

ErrorLog logs/bjxh.com-error_log

CustomLog logs/bjxh.com-access_log common

</VirtualHost>

监听地址: 使用NameVirtualHost 配置项指定提供虚拟主机服务的IP 地址,也就是进行域

名查询时各虚拟Web主机的IP地址,如173.17.17.11。

虚拟主机区域: 使用<VirtualHost 监听地址>....<"/VirtualHost>区域配置,为每一个虚拟

Web 主机建立独立的配置内容。其中至少应包括虚拟主机的网站名称、网页根目录的配

其他(如管理邮箱、访问日志等) 配置项可根据实际需要添加。

目录权限,使用<Directory 目录位置....Dpcdo>区域配置,为每一个虚拟Web

主机的网站目录设置访问权限,如允许任何人访问。目录访问可以继承其父目录的授权

许可,因此可以采取直接为父文件夹授权访问权限的方法来简化配置。

5.配置基于端口的虚拟主机

Listen 8080

<VirtualHost 192.168.100.70:80>

ServerAdmin [email protected]

DocumentRoot /var/www/html/benet

ServerName www.benet.com

ErrorLog logs/benet.com-error_log

CustomLog logs/benet.com-access_log common

</VirtualHost>

<Directory "/var/www/html/benet">

Options Indexes MultiViews FollowSymLinks

AllowOverride None

Order allow,deny

Allow from all

Require all granted

</Directory>

<VirtualHost 192.168.100.70:8080>

ServerAdmin [email protected]

DocumentRoot /var/www/html/accp

ServerName www.accp.com

ErrorLog logs/accp.com-error_log

CustomLog logs/accp.com-access_log common

</VirtualHost>

<Directory "/var/www/html/accp">

Options Indexes MultiViews FollowSymLinks

AllowOverride None

Order allow,deny

Allow from all

Require all granted

</Directory>

6.配置基于IP地址的主机(需要添加一块网卡配置IP地址等信息,并启用)

需要在本机或者linux上添加hosts指向

windows如下

C:\Windows\System32\drivers\etc(默认路径)

192.168.100.70   www.accp.com

192.168.90.70   www.benet.com

<VirtualHost 192.168.100.70:80>

ServerAdmin [email protected]

DocumentRoot /var/www/html/accp

ServerName www.accp.com

ErrorLog logs/accp.com-error_log

CustomLog logs/accp.com-access_log common

</VirtualHost>

<Directory "/var/www/html/accp">

Options Indexes MultiViews FollowSymLinks

AllowOverride None

Order allow,deny

Allow from all

Require all granted

</Directory>

<VirtualHost 192.168.90.70:80>

ServerAdmin [email protected]

DocumentRoot /var/www/html/benet

ServerName www.benet.com

ErrorLog logs/benet.com-error_log

CustomLog logs/benet.com-access_log common

</VirtualHost>

<Directory "/var/www/html/benet">

Options Indexes MultiViews FollowSymLinks

AllowOverride None

Order allow,deny

Allow from all

Require all granted

</Directory>

  1. 修改完成之后再httpd的配置中添加虚拟主机的路径

[[email protected] ~]# vim /usr/local/apache/conf/httpd.conf

Include conf.d/*.conf

2.修改httpd的配置文件给网页路径权限

<Directory "/var/www/html/">

AllowOverride None

Options None

Require all granted

</Directory>

3.重启服务后就可以访问了

[[email protected] ~]# service httpd restart

注:本篇文章注意细节

本篇文章可能让大家等太久了(这几天实在太忙),小编在此向大家道歉!

red hat 6&red hat 7 Apache网站搭建(二)虚拟主机

时间: 2024-12-18 05:00:51

red hat 6&red hat 7 Apache网站搭建(二)虚拟主机的相关文章

ret hat 6&ret hat 7 Apache网站搭建(一)

Apache 简介 Apache HTTP Server 是开源软件项目的杰出代表基于标准的HTTP网络协议提供网贡浏览 服务在We服务器领域中长期保持着超过半数的份额.Aapache服务器可以运行在Lnux.UNX Wndows 等多种操作系统平台中, 1.Apache 的起源 Apathe服务器是针对之前出现的若干个Web服务器程序进行整合.完善后形成的软件.其名 称来源于A Palchy Server 意思是"基于原有Web 服务程序的代码进行修改(补T) 后形成的 服务器程序"

rpm包安装apache发布多个虚拟主机

今天在单位服务器上用rpm包的方式部署多个服务的时候,出现问题.结果在网上查到了一篇帖子<rpm包安装apache发布多个虚拟主机>,看完这篇帖子之后才知道自己哪些地方配置的时候出现了遗漏.在此摘抄过来,以备自己以后查看.链接地址:http://www.2cto.com/net/201107/96685.html Apache是世界使用排名第一的Web服务器软件.它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一.用rpm包安装apac

nginx网站服务于虚拟主机

   Nginx网站服务于虚拟主机 1:nginx的优点: 稳定性高 系统资源消耗低 http并发量处理能力好可支持30000-50000个并发请求 主要用于静态页面 以线程为单位,一个进程对应多个用户,(线程很少占用系统资源) 2:与Apache的对比: Apache主要用于动态页面 支持功能多 稳定性能高 Apache以进程为单位,一个用户对应一个进程(一对一) 3:nginx主要用于:电商,网站,社交,门户...... 4:安装及控制nginx 1.安装支持软件 [[email prote

linux 下apache搭建和虚拟主机的配置

apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一. Linux 下apache服务器的搭建 安装并更新apache yum install httpd 启动服务 默认情况下 apache在/var/www/html存放web页面 在该目录下新建一个index.html网页 编辑html文件 此时在客户机浏览器输入服务器地址,简单的搭建完成!

apache 基于域名的虚拟主机配置

当我们安装完apache之后,搭建一个虚拟主机. 首先启动apache,由于我的apache安装在 /application/apache下,所以通过/application/apache/bin/apachectl -k start 来启动apache.启动完之后可以查看一下 然后进入apache的安装目录找到Hosts这一行 把Include前面的#号去掉 就可以启动虚拟主机了 然后在/var下创建了一个目录/var/fisherman,并且在该目录下的html文件中输入一行内容 [[ema

linux环境apache多端口配置虚拟主机的方法深入介绍

本篇文章是对linux环境apache多端口配置虚拟主机的方法进行了详细的分析介绍,需要的朋友参考下 默认情况下,linux上apache使用的默认文档目录是:/var/www默认端口是:80如果想发布自己的一个系统资源目录,可以使用下面的方法,执行如下命令:(1)添加监听端口#cd /etc/apache2#vim ports.conf文件添加:NameVirtualHost *:8000Listen 8000(2)配置虚拟目录#cd /etc/apache2/sites-available#

apache安装、配置虚拟主机、配置日志

apache的安装与配置 安装 01)下载httpd-2.2.27.tar.gz 02)解压:tar xf httpd-2.2.27.tar.gz 然后进入解压的文件查看INSTALL和RAEDME 03)直接make会出错,然后进行编译(也会有问题,这时候yum -y install zlib zlib-devel即可解决),然后进行编译: ./configure --prefix=/application/apache2.2.27 \   安装路径 --enable-deflate \   

IIS、apache、tomcat服务器虚拟主机配置

首先我们有一个域名  xxx.com;(注,两个一级域名不相同也可以)有两个二级域名   priject.xxx.com 和 movie.xxx.com有一台主机 ,现在假设访问主机电脑 IIS服务器虚拟主机配置方法1.在IIS中添加网站其中  绑定一栏中的主机名为 priject.xxx.com,在分配好网站的文件路径 2.添加isapi筛选器其中可执行文件位置为php的安装位置3.处理程序映射->添加脚本映射4.最后重启IIS服务器,就可以用域名访问了再添加站点,同样的步骤. tomcat服

Linux环境下Apache配置多个虚拟主机挂载多站点同时运行

这样一种场景:我们有一台服务器:但是想挂多个网站:那么Apache下配置虚拟主机可以满足这个需求: 比较简单的是基于主机名的配置步骤如下: 示例环境 ip:115.28.17.191 域名:baijunyao.com thinkbjy.com 目录  /var/www/html/baijunyao /var/www/html/thinkbjy 1:修改hosts文件 [[email protected] /]# ifconfig;              //查看ip并记录自己的ip地址 [[