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

@[toc]
apache 常用的功能,虚拟主机

一:虚拟Web主机

  • 在同一台服务器中运行多个Web站点,其中每一个站点并不独立占用一台真正的计算机

    1.1 httpd支持的虚拟主机类型(三种)

  • 基于域名的类型
  • 基于IP地址的虚拟主机
  • 基于端口的虚拟主机
    例如:
    www.kgc.om
    www.accp.com
    IP相同,端口相同

IP不同,端口相同

IP相同,端口不通

二:构建虚拟主机基于域名的实验

2.1.1 安装软件包

[[email protected] ~]# yum install bind httpd -y
Package 32:bind-9.11.4-9.P2.el7.x86_64 already installed and latest version
Package httpd-2.4.6-90.el7.centos.x86_64 already installed and latest version
Nothing to do

2.1.2 关闭防火墙增强服务

[[email protected] ~]# setenforce 0
[[email protected] ~]# systemctl stop firewalld.service
[[email protected] ~]# 

2.1.3 配置dns

配置dns全局配置文件/etc/named.conf

[[email protected] ~]# vim /etc/named.conf
options {
        listen-on port 53 { any; };
        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";
        recursing-file  "/var/named/data/named.recursing";
        secroots-file   "/var/named/data/named.secroots";
        allow-query     { any; };

配置dns区域配置文件/etc/named.rfc1912.zones

[[email protected] ~]# vim /etc/named.rfc1912.zones
zone "kgc.com" IN {
        type master;
        file "kgc.com.zone";
        allow-update { none; };
};

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

修改dns的区域数据文件

[[email protected] ~]# cd /var/named/
[[email protected] named]# ls
data  dynamic  named.ca  named.empty  named.localhost  named.loopback  slaves
[[email protected] named]# cp -p named.localhost kgc.com.zone
[[email protected] named]# vim kgc.com.zone
$TTL 1D
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @
        A       127.0.0.1
www     IN      A       192.168.247.150
~                                                   
[[email protected] named]# cp -p kgc.com.zone accp.com.zone

修改完毕,启动dns服务

[[email protected] named]# systemctl start named

为客户机配置好dns,去进行测试服务是否生效

nslookup 解析成功

2.1.4 创建虚拟主机配置文件,位置在/etc/httpd/conf/extra/,为了简明之意,文件名设为vhost.conf

[[email protected] httpd]# ls
conf  conf.d  conf.modules.d  logs  modules  run
[[email protected] httpd]# ls -l
total 0
drwxr-xr-x. 2 root root  37 Dec 12 14:45 conf
drwxr-xr-x. 2 root root  82 Dec 12 14:45 conf.d
drwxr-xr-x. 2 root root 146 Dec 12 14:45 conf.modules.d
lrwxrwxrwx. 1 root root  19 Dec 12 14:45 logs -> ../../var/log/httpd
lrwxrwxrwx. 1 root root  29 Dec 12 14:45 modules -> ../../usr/lib64/httpd/modules
lrwxrwxrwx. 1 root root  10 Dec 12 14:45 run -> /run/httpd
[[email protected] httpd]#
[[email protected] httpd]# cd conf
[[email protected]calhost conf]# ls
httpd.conf  magic
[[email protected] conf]# mkdir extra
[[email protected] conf]# cd extra/
[[email protected] extra]# ls
[[email protected] extra]#

/etc/httpd/conf/extra/vhost.conf文件中

  • 指的是所有的ip地址同过80端口都可以访问
    DocumentRoot “是web站点目录”
    ServerName “站点服务域名”
    Errorlog “指定错误日志路径”
    Customlog “指定访问日志路径” 后面跟common扩展工具
    指定详细配置的目录名,可以发现是web站点目录的父目录
    允许所有用户主机的所有访问权限 //后面由此还会扩展更多的配置属性

    
    [[email protected] extra]# vim vhost.conf
    1 <VirtualHost *:80>
    2   DocumentRoot "/var/www/html/kgc"
    3   ServerName www.kgc.com
    4   Errorlog "logs/www.kgc.com.error_log"
    5   Customlog "logs/www.kgc.comaccess_log" common
    6   <Directory "/var/www/html">
    7    Require all granted
    8   </Directory>
    9 </VirtualHost>
    10
    11 <VirtualHost *:80>
    12   DocumentRoot "/var/www/html/accp"
    13   ServerName www.accp.com
    14   Errorlog "logs/www.accp.com.error_log"
    15   Customlog "logs/www.accp.comaccess_log" common
    16   <Directory "/var/www/html">
    17    Require all granted
    18   </Directory>
    19 </VirtualHost>
### 2.1.5 创建两个web站点的首页,首页文件index.html在/var/www/html下面的站点目录中
```bash
[[email protected] extra]# cd /var/
[[email protected] var]# ls
account  cache  db     games   kerberos  local  log   named  opt       run    target  www
adm      crash  empty  gopher  lib       lock   mail  nis    preserve  spool  tmp     yp
[[email protected] var]# cd www
[[email protected] www]# ls
cgi-bin  html
[[email protected] www]# cd html
[[email protected] html]# ls
[[email protected] html]# mkdir kgc accp
[[email protected] html]# ls
accp  kgc
[[email protected] html]# echo "this is accp web" > accp/index.html
[[email protected] html]# echo "this is kgc web" > kgc/index.html
[[email protected] html]# tree accp kgc
accp
└── index.html
kgc
└── index.html

0 directories, 2 files
[[email protected] html]#

2.1.7 重点:需要把extra的路径加入到主配置文件中,启动时才可以识别

[[email protected] html]# vim /etc/httpd/conf/httpd.conf
354 Include conf/extra/vhost.conf

2.1.8 开启服务,查看服务端口

[[email protected] html]# systemctl start httpd
[[email protected] html]# netstat -natp | grep httpd
tcp6       0      0 :::80                   :::*                    LISTEN      79262/httpd         

2.1.9 在客户机验证


三:构建虚拟主机————基于端口的实验

以上个实验为基础,进行端口不通的虚拟主机的配置

3.1.1 修改虚拟web主机的配置文件,增加一项8080端口的参数,为了区别站点,需要把站点文件名修改作以区分,不会覆盖

[[email protected] html]# vim /etc/httpd/conf/extra/vhost.conf
//复制修改增加
 11 <VirtualHost *:8080>
 12   DocumentRoot "/var/www/html/kgc02"
 13   ServerName www.kgc02.com
 14   Errorlog "logs/www.kgc02.com.error_log"
 15   Customlog "logs/www.kgc02.comaccess_log" common
 16   <Directory "/var/www/html">
 17    Require all granted
 18   </Directory>
 19 </VirtualHost>
[[email protected] html]# ls
accp  kgc
[[email protected] html]# cp -p kgc kgc02
cp: omitting directory ‘kgc’
[[email protected] html]# mkdir kgc02
[[email protected] html]# echo "this is web kgc02" >kgc02/index.html
[[email protected] html]#

3.1.2 增加了端口,也就增加了监听地址,监听地址的修改在主配置文件/etc/httpd/conf/httpd/conf中

[[email protected] html]# vim /etc/httpd/conf/httpd.conf
 41 Listen 192.168.247.150:80
 42 Listen 192.168.247.150:8080
 43 #Listen 80

3.1.3 重启服务,验证接口是否开启

[[email protected] html]# systemctl restart httpd
[[email protected] html]# netstat -napt | grep httpd
tcp        0      0 192.168.247.150:8080    0.0.0.0:*               LISTEN      91814/httpd
tcp        0      0 192.168.247.150:80      0.0.0.0:*               LISTEN      91814/httpd   

3.1.4 查看验证,IP地址一样,端口不一样

四:构建虚拟主机————基于IP不同的实验

4.1.1 添加网卡,创建几个不同的IP地址的虚拟web主机就需要增加几个网卡

[[email protected] html]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.247.150  netmask 255.255.255.0  broadcast 192.168.247.255

ens36: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.247.158  netmask 255.255.255.0  broadcast 192.168.247.255

验证网卡是否联网

4.1.2 修改虚拟web主机的配置文件

备注:当服务器中使用不同IP的虚拟web主机时,/etc/httpd/conf/extra/vhost.conf文件中的IP地址需要具象到一个固定的IP地址,不可以再用*通配符号,以免混淆
[[email protected] html]# vim /etc/httpd/conf/extra/vhost.conf
<VirtualHost 192.168.247.158:80>
  DocumentRoot "/var/www/html/accpaccp"
  ServerName www.accpaccp.com
  Errorlog "logs/www.accpaccp.com.error_log"
  Customlog "logs/www.accpaccp.comaccess_log" common
  <Directory "/var/www/html">
   Require all granted
  </Directory>
</VirtualHost>

4.1.3 创建新建的虚拟web站点目录

[[email protected] html]# ls
accp  accp02  kgc  kgc02
[[email protected] html]# mkdir accpaccp
[[email protected] html]# echo "this is 192.168.247.158" > accpaccp/index.html

4.1.4 修改主配置文件,增加监听地址

[[email protected] html]# vim /etc/httpd/conf/httpd.conf
Listen 192.168.247.158:80

4.1.5 重启httpd服务

[[email protected] html]# systemctl restart httpd
[[email protected] html]# netstat -natp | grep httpd
tcp        0      0 192.168.247.150:8080    0.0.0.0:*               LISTEN      123662/httpd
tcp        0      0 192.168.247.158:80      0.0.0.0:*               LISTEN      123662/httpd
tcp        0      0 192.168.247.150:80      0.0.0.0:*               LISTEN      123662/httpd   

4.1.6 客户机验证

#####因为没有配置dns解析,所以需要输入IP地址去进入网站,接下来增加这个ip地址的域名解析


4.1.7 修改dns配置文件

/etc/named.rfc1912.zones文件
[[email protected] html]# vim /etc/named.rfc1912.zones
zone "accpaccp.com" IN {
        type master;
        file "accpaccp.com.zone";
        allow-update { none; };
};
/var/named/目录,创建对应的区域数据文件
[[email protected] html]# cd /var/named
[[email protected] named]# ls
accp.com.zone  data  dynamic  kgc.com.zone  named.ca  named.empty  named.localhost  named.loopback  slaves
[[email protected] named]# cp -p accp.com.zone accpaccp.com.zone
[[email protected] named]# vim accpaccp.com.zone
$TTL 1D
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @
        A       127.0.0.1
www     IN      A       192.168.247.158

4.1.8 重启域名解析服务

[[email protected] named]# systemctl restart named

五:创建站点内的超链接

5.1 修改首页

[[email protected] named]# vim /var/www/html/accpaccp/index.html
<html>
<head>
 <title>hello world</title>
</head>
<body>
   <h1><a href="http://www.accp.com/index.html">hello world</a></h1>
</body>
</html>

5.2 客户机测试,当然,还需要在重启HTTPD服务

[[email protected] named]# systemctl restart httpd


原文地址:https://blog.51cto.com/14558445/2458217

时间: 2024-11-09 03:20:57

理论+实操:apache 的虚拟web主机配置的相关文章

Apache构建虚拟Web主机

Apache HTTP Server是开源软件项目的杰出代表,基于标准的HTTP网络协议提供网页浏览服务,在Web服务器领域中长期保持着超过半数的份额.Apache服务器可以运行在Linux.UNIX.Windows等多种操作系统平台中. Apache的主要特点: 开放源代码 跨平台应用 支持各种Web编程语言 模块化设计 运行非常稳定 良好的安全性 在同一台Apache服务器中运行多个web站点,其中的每一个站点实际上不会占用着整个服务器,通过虚拟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主机(多域名;多端口),

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网站服务(二) 一.httpd服务的访问控制 作用: a.控制对网站资源的访问 b.为特定的网站目录添加访问授权 常用访问控制方式: a.客户机地址限制 b.用户授权限制 二.基于客户端地址的访问控制 Order配置项,定义控制顺序 先允许后拒绝,默认拒绝所有:Order allow,deny 先拒绝后允许,默认允许所有:Order deny,allow Allow.Deny配置项,设置允许或拒绝的地址 Deny from address1 addr

基于域名的虚拟web主机

Web网站服务(二) 用户授权限制 1 创建用户认证数据文件(新建数据文件/usr/local/httpd/conf/.awspwd 其中包括一个名为webadmin的用户) 查看创建的用户数据文件 2 添加用户授权配置 AuthName 定义受保护的领域名称 Authtype 设置认证的类型 basic表示基本认证 Authuserfile 设置用于保存用户账户密码的认证文件路径 Require  valid-user 要求只有认证文件中的合法用户才能访问 重启服务使新配置生效 3 验证用户访

虚拟Web主机的应用

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

构建虚拟web主机

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

Linux中的的虚拟WEB主机的几点总结

Linux中的虚拟WEB主机几点注意与备忘 听着钢琴曲,第一次开始写博客. 其实有点疲惫,因为上课了一整天,晚上还搭建了一遍服务.但是难以掩住第一次写博客的心情. 还原虚拟机的命令:rht-vmctl reset 主机名 一般搭建一个服务的基本思想:装包,配置,起服务 为保证实验,上来先把Firewall干掉,之后如果不懂selinux也可以把这个烦人的皇帝干掉. 虚拟web主机有三种方式:端口,域名,ip地址,一般用的是前两种. 基于域名的:一个ip地址有多个域名. httpd服务的Docum

基于centos 7搭建Nginx网站服务器(包含虚拟web主机的配置)

Nginx专为性能优化而开发,其最大的优点就是它的稳定性和低系统资源消耗,以及对http并发连接的高处理能力,单台物理服务器可支持20000~50000个并发请求,正是如此,大量提供社交网络.新闻资讯.电子商务及虚拟主机等服务的企业纷纷选择Nginx来提供web服务,目前中国大陆使用nginx网站用户有:新浪.网易.腾讯,另外知名的微网志Plurk也使用nginx. Nginx是一个很牛的高性能Web和反向代理服务器,它具有有很多非常优越的特性: 高并发连接:官方测试能支撑5万并发连接,在实际生