基于B/S(Browser/Server)架构的网页服务
服务端提供网页
浏览器下载并显示网页
Hyper Text Markup Lanuage,超文本标记语言
Hyper Text Transfer Protocol,超文本传输协议
虚拟机A:构建基本的Web服务
[root@server ~]# yum -y install httpd 已加载插件:fastestmirror, langpacks Loading mirror speeds from cached hostfile centos | 3.6 kB 00:00 软件包 httpd-2.4.6-95.el7.centos.x86_64 已安装并且是最新版本 无须任何处理 [root@server ~]# rpm -q httpd httpd-2.4.6-95.el7.centos.x86_64 [root@server ~]# echo NSD Web Server>/var/www/html/index.html [root@server ~]# curl 192.168.88.240 NSD Web Server
虚拟机B、C测试访问
[root@pc2 ~]# curl 192.168.88.240 NSD Web Server [root@pc3 ~]# curl 192.168.88.240 NSD Web Server
提供的默认配置
Listen:监听地址:端口(80)
ServerName: 本站点注册的DNS名称(空缺)
DocumentRoot:网页根目录(默认为/var/www/html) !!!
DirectoryIndex:起始页/首页文件名(index.html)
修改DocumentRoot目录
[root@server ~]# mkdir /var/www/myweb [root@server ~]# vim /etc/httpd/conf/httpd.conf
[root@server ~]# echo wo shi myweb >/var/www/myweb/index.html [root@server ~]# systemctl restart httpd [root@server ~]# curl 192.168.88.240 wo shi myweb
http软件 存放网页文件的目录,访问控制规则会自动继承
假设访问规则如此设置
/var/www #允许所有客户端进行访问
/var/www/abc/nsd/cbd #拒绝客户端
造成的结果
/var/www/abc #允许所有客户端进行访问 因为父级目录为www,设置的规则为允许访问
/var/www/abc/nsd #允许所有客户端进行访问 父目录没有设置规则,自动继承上级目录www的规则,允许访问
/var/www/abc/nsd/cbd #拒绝客户端 目录设置了规则,拒绝客户端
/var/www/abc/nsd/cbd/xixi #拒绝客户端 父目录设置了拒绝规则,但上上上上目录www也设置了规则,这里因为就近原则,所以继承上级目录cbd的规则,拒绝客户端
下面我们把网页根目录改成/myweb,看一下效果
[root@server ~]# vim /etc/httpd/conf/httpd.conf
[root@server ~]# mkdir /myweb [root@server ~]# echo wo shi myweb>/myweb/index.html [root@server ~]# systemctl restart httpd [root@server ~]# cat /myweb/index.html wo shi myweb [root@server ~]# curl 192.168.88.240
我们发现显示会web服务测试页,而不是输入的wo shi myweb
去查看配置文件,我们会发现原因
配置文件显示,/目录设置的规则为拒绝访问,/var/www目录设置的规则为允许访问,刚刚设置的网页根目录为/myweb,所以拒绝了访问权限,自动在/var/www目录下寻找到的测试网页显示
我们编辑配置文件,添加允许访问/myweb的规则
[root@server ~]#systemctl restart httpd [root@server ~]# curl 192.168.88.240 wo shi myweb #结果显示正常
访问出现测试页面:
1.没有网页文件
2.网页文件名称不是index.html
3.httpd的访问规则拒绝
httpd服务还支持自定义自己想要的配置文件,举例
在/etc/httpd/conf.d/目录下,编写配置文件
[root@server ~]# vim /etc/httpd/conf.d/haha.conf [root@server ~]# cat /etc/httpd/conf.d/haha.conf DocumentRoot "/var/www/cbd" [root@server ~]# mkdir /var/www/cbd [root@server ~]# echo wo shi CBD >/var/www/cbd/index.html [root@server ~]# systemctl restart httpd [root@server ~]# curl 192.168.88.240 wo shi CBD
说明,读取了我们自定义的配置文件haha.conf