linux的http服务

Web通信基本概念

  • 基于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

相关推荐
摇滚侠39 分钟前
Linux 零基础教程 09、11、77
linux·运维·服务器
Lottie202644 分钟前
电商自动化提质增效:API接口落地的核心价值与实战用法
运维·自动化
Hardworking6662 小时前
第6章 数据工程
运维·服务器·数据库·数据工程
jieyucx3 小时前
Docker 入门第六阶段:综合实战项目
运维·docker·容器
美丽的欣情3 小时前
RK3588 Debian 交叉编译环境搭建(Windows + VMware Debian + CMake)
运维·windows·debian
小樱花的樱花4 小时前
Linux 多线程编程:互斥锁(Mutex)详解
linux·c语言·开发语言
TlSfoward4 小时前
TLSFOWARD自动化抓包工具
运维·自动化
麦兜和小可的舅舅4 小时前
从原理到实战:Linux 系统性能诊断核心指标全解析及生产系统故障分析复盘
大数据·linux·运维
云飞云共享云桌面4 小时前
河北钣金工厂10个solidworks设计共享一台高性能服务器的云桌面方案
运维·服务器·3d·自动化·负载均衡·制造
wbs_scy5 小时前
仿 muduo 高并发服务器项目:实现 Connection 连接管理模块,并整合 Any 上下文
运维·服务器·网络