构建虚拟主机
1、虚拟主机介绍
企业常用的虚拟主机分为3种:
(1)基于域名
(2)基于端口
(3)基于IP
虚拟web主机
在同一台物理服务器中运行多个web站点,其中每一个站点并不独立占用一台真正的计算机
httpd支持的虚拟主机类型
(1)基于域名的虚拟主机
(2)基于IP地址的虚拟主机
(3)基于端口的虚拟主
Apache连接保持
Apache连接保持相关参数
(1)KeepAlive
是否打开连接保持,OFF关闭,ON 打开
(2)KeepAlive Timeout
一次连接多粗请求之间的最大间隔时间,两次请求超过该时间连接断开
(3)MaxKeepAliveRequests
一次连接能够传输的最大请求数量
Apache访问控制
(1)作用
控制对网站资源的访问
为特定的网站目录添加访问权限
(2)常用的访问控制方式
客户机地址限制
用户限制
基于客户端地址的访问控制
使用Require配置项实现访问控制,按先后顺序限制
可用于<Location>、<Directory> 、<Files>、 <Limit>配置段中
Require配置项的常见语法
Require all granted
Require all denied
Require local
Require [not ] host <主机名或域名列表>
Require [not ] ip <IP地址或网段列表>
使用not禁止访问时要将其置于<RequireAll></RequireAll>容器中并在容器中指定相应的限制策略
Require的命令模式
2、构建虚拟主机——基于域名
2.1配置环境
安装DNS 和httpd 服务
[root@localhost ~]# yum install bind httpd -y
修改DNS 主配置文件
[root@localhost ~]# vim /etc/named.conf
配置DNS区域配置文件
[root@localhost ~]# 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 区域数据配置文件
[root@localhost ~]# cd /var/named/
[root@localhost named]# ls //查看
data dynamic named.ca named.empty named.localhost named.loopback slaves
[root@localhost named]# cp -p named.localhost kgc.com.zone
[root@localhost named]# vim kgc.com.zon
将kgc的区域数据配置文件,复制一份复制到accp下不做修改
[root@localhost named]# cp -p kgc.com.zone accp.com.zone
开启DNS服务、关闭防火墙和安全功能
[root@localhost named]# systemctl start named
[root@localhost named]# systemctl stop firewalld.service
[root@localhost named]# setenforce 0
2.2在做测试的windows10上配置静态的DNS解析地址
在windows10 上打开cmd测试是否能解析到域名
2.3配置虚拟主机
[root@localhost named]# cd /etc/httpd/
[root@localhost httpd]# ls
conf conf.d conf.modules.d logs modules run
[root@localhost httpd]# cd conf/
[root@localhost conf]# ls
httpd.conf magic
[root@localhost conf]# mkdir extra
[root@localhost conf]# cd extra/
[root@localhost extra]# vim vhost.conf //创建扩展文件
<VirtualHost *:80> //标题,固定格式
DocumentRoot "/var/www/html/kgc" //站点
ServerName www.kgc.com //域名
ErrorLog "logs/www.kgc.com.error_log" //错误日志文件
CustomLog "logs/www.kgc.com.access_log" common //访问日志文件
<Directory "/var/www/html/">
Require all granted //访问权限
</Directory>
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "/var/www/html/accp"
ServerName www.accp.com
ErrorLog "logs/www.accp.com.error_log"
CustomLog "logs/www.accp.com.access_log" common
<Directory "/var/www/html/">
Require all granted
</Directory>
</VirtualHost>
配置网页显示内容
[root@localhost httpd]# cd /var/www/html/
[root@localhost html]# ls
[root@localhost html]# mkdir kgc accp
[root@localhost html]# ls
accp kgc
[root@localhost html]# cd kgc/
[root@localhost kgc]# vim index.html
<h2>this is kgc web</h2>
[root@localhost kgc]# cd ../accp/
[root@localhost accp]# vim index.html
<h2>this is accp web</h2>
配置网页的绝对路径
[root@localhost accp]# cd /etc/httpd/
[root@localhost httpd]# ls
conf conf.d conf.modules.d logs modules run
[root@localhost httpd]# cd conf/
[root@localhost conf]# vim httpd.conf
Include conf/extra/vhost.conf
启动http服务
[root@localhost conf]# systemctl start httpd
2.4在windows10上测试自己的网页
3、构建虚拟主机——基于端口
3.1在基于域名的基础上修改
进入扩展文件,配置,添加一个端口
[root@localhost conf]# cd extra/
[root@localhost extra]# vim vhost.conf
<VirtualHost *:8080>
22 DocumentRoot "/var/www/html/accp02"
23 ServerName www.accp.com
24 ErrorLog "logs/www.accp02.com.error_log"
25 CustomLog "logs/www.accp02.com.access_log" common
26 <Directory "/var/www/html/">
27 Require all granted
28 </Directory>
29 </VirtualHost>
[root@localhost extra]# cd /var/www/html/ //创建accp02 zhandian
[root@localhost html]# ls
accp kgc
[root@localhost html]# mkdir accp02
[root@localhost html]# cd accp02/
[root@localhost accp02]# vim index.html
<h2>this is accp02 web</h2>
进入绝对路径,修改
[root@localhost accp02]# vim /etc/httpd/conf/httpd.conf
重启网页服务
[root@localhost accp02]# systemctl restart httpd
查看端口
[root@localhost accp02]# netstat -ntap
3.2进入windows10 测试
4、构建虚拟主机——基于IP
4.1配置环境
基于IP要不同的IP地址,我们首先在虚拟机上添加一个网卡,然后让他自动获取IP地址。
第二块网卡添加成功,他的IP地址为192.168.45.128
进入vhost.conf修改,设置基IP 的配置
[root@localhost accp02]# cd /etc/httpd/conf/extra/
[root@localhost extra]# vim vhost.conf
1 <VirtualHost 192.168.45.135:80>
2 DocumentRoot "/var/www/html/kgc"
3 ErrorLog "logs/www.kgc.com.error_log"
4 CustomLog "logs/www.kgc.com.access_log" common
5 <Directory "/var/www/html/">
6 Require all granted
7 </Directory>
8 </VirtualHost>
9
10 <VirtualHost 192.168.45.128:80>
11 DocumentRoot "/var/www/html/kgc02"
12 ErrorLog "logs/www.kgc02.com.error_log"
13 CustomLog "logs/www.kgc02.com.access_log" common
14 <Directory "/var/www/html/">
15 Require all granted
16 </Directory>
17 </VirtualHost>
创建网页文件,并添加网页显示内容
[root@localhost extra]# cd /var/www/html/
[root@localhost html]# mkdir kgc02
[root@localhost html]# cd kgc02/
[root@localhost kgc02]# vim index.html
<h2>this is kgc02 web</h2>
进入http配置文件
[root@localhost kgc02]# vim /etc/httpd/conf/httpd.conf
重启网页服务
[root@localhost kgc02]# systemctl restart httpd
4.2返回windows10 测试网页