19.httpd(apache)、http协议详解和httpd配置 2.2版本、centos6 上编译安装httpd2.4

补充:衡量httpd服务的访问量的两个重要指标
PV:页面访问请求次数(统计的是页面入口接口访问量而不是所有页面所包含的网页连接)
UV:这些访问请求包含多少IP
1 . web服务器程序
在这里插入图片描述
2. httpd的特性
①高度模块化
②DSO(动态共享对象):支持动态装卸载模块
③MPM(多进程处理模块):支持多种不同的I/O模型 MPM三种模型详解
prefork:多进程模型,每个进程相应一个请求
一个主进程负责生成n个子进程,每个子进程处理一个用户请求,即使没有用户请求也会预先生成多个空闲进程,随时
等待请求到达。最大不会超过1024个;主进程只负责监听进程,并送给子进程处理
worker:多进程和多线程的混合模式,但是存在keep-alive长连接的时候占用线程资源被浪费的问题
event:类似于worker,但是解决了keep-alive长连接的时候占用线程资源被浪费的问题

centos6: 2.2版本的httpd 相关配置

  1. 主要目录与文件
    在这里插入图片描述
    模块文件路径:
    /usr/lib64/httpd/modules
    配置文件
    1.
    在这里插入图片描述

    2
    在这里插入图片描述

    在这里插入图片描述
    3.在这里插入图片描述
    更换使用的httpd程序(模块/IO模型):
    vim /etc/sysconfig/httpd
    在这里插入图片描述
    查看 在这里插入图片描述
    这三个应用主程序都能够通过主配置文件来配置
    vim /etc/httpd/conf/httpd.conf
    在这里插入图片描述
    接上图:
    prefork的配置
    StarServers 服务启动时的进程数
    MinSpareServers 最小空闲进程数
    MaxSpareServers 最大空闲进程数
    ServerLimit 为MaxClients所准备的在其服务器周期内所允许的最大值
    MaxClients 最大并发请求数
    MaxRequestsPerChild 一个服务进程最多能响应多少次的请求

worker的配置 :
在这里插入图片描述

  1. DSO 实现动态模块加载 :
    主配置文件中配置指令实现模块加载与卸载
    LoadModule <mod_name> <mod_path>
    模块路径可以使用相对地址,可以ll查看/etc/httpd/modules时软连接rpm -ql httpd查看模块的真实路径
    可以注释掉主配置文件中的模块并重载一下就会卸载模块
    在这里插入图片描述
    httpd -M查看所有模块是否注释的模块被卸载掉
    5.
    定义‘Main’ server的文档页面路径
    DocumentRoot:指向的路基那个为URL路径的起始位置
    例:
    配置文件为DocumentRoot “/var/www/html”
    网页文件为/var/www/html/test/index.html
    访问时URL应该为:http://HOST:PORT/test/index.html
    6.
    在这里插入图片描述
    7 Directory中“基于来源地址”实现访问控制
    Options:
    ALL:以下所有特性都支持
    None:以下所有特性都不支持
    Indexes:如果访问时找不到资源或默认网页允许索引所有网页
    FollowSymlinks::允许跟踪符号连接文件
    SymLinksifOwnerMatch:允许跟踪源文件跟连接文件为同一属主的链接文件
    ExecCGI:是否允许执行CGI脚本
    MultiViews:是否允许多视图,内容协商机制,例如根据浏览器中英文环境匹配中英文内容
    但是会导致性能差和有风险性一般不启用
    (2)基于来源地址的访问控制
    Order:检查次序
    Order allow,deny(做白名单)默认拒绝, 只有明确允许的才有权限访问
    Order deny,allow (做黑名单) 默认允许,只有明确拒绝的才拒绝访问
    注意:apache会按照order决定最后使用哪一条规则,最后的规则生效
    Allow from
    Deny from

在这里插入图片描述

定义默认主页面
访问网站不指定具体资源路径时默认打开的页面,可以指定多个
DirecotryIndex index.html index.html.var
9.
在这里插入图片描述
10.
例如创建路径bbs/的目录别名为forum/在URL访问bbs/下的资源时,实际访问的是forum/目录下的资源
在这里插入图片描述
11.
在这里插入图片描述
12.基于用户的访问控制
在这里插入图片描述
例:
在这里插入图片描述

在这里插入图片描述

13.虚拟主机
在这里插入图片描述
在这里插入图片描述
补充:测试配置文件语法
①service httpd configtest
②httpd -t
实例1:基于IP的虚拟主机
(1)添加配置文件
在这里插入图片描述
(2)常见网页目录和网页文件并重读配置文件
在这里插入图片描述
实例2:
基于端口的虚拟主机
注意 可以混合使用
(1)添加监听端口并添加虚拟主机配置文件
在这里插入图片描述
在这里插入图片描述

(2)常见网页目录和网页文件并重读配置文件
实例3: 基于hostname的虚拟主机
(1)修改配置文件
httpd2.2需要启动NameVirtualHost 这一项 httpd2.4不需要,其中号表示的IP需要与添加的虚拟主机配置文件中表示的IP相同
在这里插入图片描述
在这里插入图片描述
(2)配置DNS或者本地主机映射
在这里插入图片描述
(3)重载并测试
在这里插入图片描述
14. 内置的status页面
在这里插入图片描述
测试
访问 httpd://IP/server-status
15.

http协议和httpd配置 2.2版本

(https 访问时默认端口为443 http为80)
1.
在这里插入图片描述
相对URL:相对路径,通常在同网站内使用
绝对URL:绝对路径,在同网站或不同网站内使用
2. http协议(是无状态服务):
http/0.9 , http/1.0 , http/1.1 , http/2.0
无状态服务:服务器无法持续追踪访问者来源,这样会导致无法判断来访者的身份,如果网站有访问控制机制 每次访问都需要账号密码验证身份。
cookie:每次客户端访问服务器就会在客户端硬盘产生一个cookie文件用来记录身份
cookie又分为胖cookie与瘦cookie,胖cookie可以记录客户端的访问行为甚至访问本地文件权限(比较危险)
session +瘦cookie :现在一般都是动态网站上每一个session对应一个瘦cookie来记录无状态服务客户端身份和在session上记录客户端的访问行为
3.一次http请求和响应叫一次事务,http报文由请求响应行、首部、数据组成,每次http请求响应的动作、资源定义、状态、安全认证等信息都是在若干首部定义配置的
在这里插入图片描述
3.1
在这里插入图片描述
3.2
在这里插入图片描述
3.3 headers
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.curl与elinks
在这里插入图片描述
5.
在这里插入图片描述
6.
在这里插入图片描述
7.压力测试工具
(1)能力有限的三款工具
ab (apache自带的压力测试工具)
webbench
http_load
(2)专业级的工具
jmeter (开源的)
loadrunner (商业级的,功能异常强大,有专门的认证)
(3)tcpcopy (中国研发的,模拟真实生产环境,把生产环境流量复制一份导入测试环境)

ab:(测试结果智能作为参考,可能只会是到达测试的80%就很不错了)
  因为ab需要模拟并发,每个连接都会打开一个套接字文件,所以需要调整内核允许的用户文件打开数 ulimit -n

在这里插入图片描述
8.http -2.4
8.1
在这里插入图片描述
8.2 centos6 上安装httpd2.4
apr:由于http是安装在多中系统中的程序,所以apr可以消除不通系统环境中底层差异
http-2.4版本需要依赖 apr-1.4+ 以上版本和apr-util-1.4+以上版本的安装包环境,centos6中apr是低于这个版本要求的,又由于apr 不只有http依赖它可能还有其他程序,所以不能进行升级,只能源码包编译安装
在这里插入图片描述
8.3 centos7 上的httpd上的差异
(1)配置文件与控制服务
在这里插入图片描述
(2)配置
在这里插入图片描述
在这里插入图片描述
服务器脚本只需要少量改动cenytos6上的rc.d下的执行脚本的程序路径

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值