16 2 Apache服务器 2.3 Apache工作模式 口 Apache有 prefork、 worker、 event三种工作模式 worker工作模式 ¤ worker模式相对于 pretoκk来说,使用多进程和多线程混合模式 口 Apache启动时预先分了几个子进程(数量比较少),每个子进程创建一些线程 同时包括一个监听线程。 每个请求过来,会分配一个线程来进行服务。 线程通常会共享父进程的内存空间,对内存占用会减少些,用线程处理会更轻量。 口 worker模式在高并发的情况下,比 prefork有更多的可用进程。 考虑到稳定性, worker不完全使用多线程,还引入多进程。 如果使用单进程,在一个线程出错往往会导致父进程连同其它正常的子线程都岀错。 使用多个进程加多个线程的方式,即便某个线程出现异常,受影响的只有 Apache的 部分服务。 南中医药大学/阮晓龙/13938213680/http://inux.xg.hactcm.edu.cn/http://www.51xueweb.cn
河南中医药大学 / 阮晓龙 / 13938213680 / http://linux.xg.hactcm.edu.cn / http://www.51xueweb.cn 2.Apache服务器 16 2.3 Apache工作模式 Apache有prefork、worker、event三种工作模式。 ◼ worker工作模式 worker模式相对于prefork来说,使用多进程和多线程混合模式。 Apache启动时预先分了几个子进程(数量比较少),每个子进程创建一些线程, 同时包括一个监听线程。 ▪ 每个请求过来,会分配一个线程来进行服务。 ▪ 线程通常会共享父进程的内存空间,对内存占用会减少些,用线程处理会更轻量。 worker模式在高并发的情况下,比prefork有更多的可用进程。 ▪ 考虑到稳定性,worker不完全使用多线程,还引入多进程。 ▪ 如果使用单进程,在一个线程出错往往会导致父进程连同其它正常的子线程都出错。 ▪ 使用多个进程加多个线程的方式,即便某个线程出现异常,受影响的只有Apache的 部分服务
2 Apache服务器 2.3 Apache工作模式 口 Apache有 prefork、 worker、 event三种工作模式 event工作模式 event和 worker模式较为相似,但 leventi解决了keep-aⅳe场景下线程长期被占 用而造成的资源浪费问题。 event模式中,会有一个专门的线程来管理keep-ave类型的线程。 当有真实请求时将请求传递给服务线程,执行完毕后释放。 增强了高并发场景下的请求处理能力。 根据业务特性选择 Apache的工作模式,进行web服务器调优。 南中医药大学/阮晓龙/13938213680/http://inux.xg.hactcm.edu.cn/http://www.51xueweb.cn
河南中医药大学 / 阮晓龙 / 13938213680 / http://linux.xg.hactcm.edu.cn / http://www.51xueweb.cn 2.Apache服务器 Apache有prefork、worker、event三种工作模式。 ◼ event工作模式 event和worker模式较为相似,但event解决了 keep-alive场景下线程长期被占 用而造成的资源浪费问题。 event模式中,会有一个专门的线程来管理keep-alive类型的线程。 ▪ 当有真实请求时将请求传递给服务线程,执行完毕后释放。 ▪ 增强了高并发场景下的请求处理能力。 17 2.3 Apache工作模式 根据业务特性选择Apache的工作模式,进行Web服务器调优
8 2 Apache服务器 2.4 Apache Module ¤Aρache是模块化的设计,大多数功能被分散到各模块中,各模块在系 统启动时按需载入。 安装 Apache时会默认安装一些模块,如果需要实现某种特定的功能可以 根据实际需求自行安装 Apache模块。 Apache模块只与 Apache版本有关,和操作系统无关。 内置模块:随 Aapche而安装,自行启用/禁用 Apache Module 扩展模块:根据需要而自行安装,自由管理 自定义模块:根据自身业务需要定制开发的模块 南中医药大学/阮晓龙/13938213680/http://inux.xg.hactcm.edu.cn/http://www.51xueweb.cn
河南中医药大学 / 阮晓龙 / 13938213680 / http://linux.xg.hactcm.edu.cn / http://www.51xueweb.cn 2.Apache服务器 Apache是模块化的设计,大多数功能被分散到各模块中,各模块在系 统启动时按需载入。 ◼ 安装Apache时会默认安装一些模块,如果需要实现某种特定的功能可以 根据实际需求自行安装Apache模块。 ◼ Apache模块只与Apache版本有关,和操作系统无关。 18 2.4 Apache Module Apache Module 内置模块:随Aapche而安装,自行启用/禁用 扩展模块:根据需要而自行安装,自由管理 自定义模块:根据自身业务需要定制开发的模块
19 Apache2437常用模块列表 模块名 mod actions 运行基于MME类型的CG脚本 提供从文件系统的不同部分到文档树的映射和URL 原祥发送文档信息,而不添加常用的HTTP头 mod auth basic 使用基本认证 mod auth digest 使用MD5加密算法进行验证 mod authn anon允许匿名用户访词认证的区域 10 mod authn default 在未正确配置认证模块的情况下拒绝一切认证 是 11 mod authz groupfile使用 plaintext文件进行组验证 12| mod_authn.0ne使用文本文件保存用户验证信息 13 mod_authnz_ldap 允许使用DP目录存用户名和码执行HTP基舌 提供基于主机名称或|P地址的访问限制 15 mod_authz_use 提供基于用户的访问限制 od autoindex 自动生成目录索引,类似于Uniⅸx的ls、 Windows的 兼吝RFc2616标准的HTP缓存过滤器 在非线程型 MPM(prefork)上提供对cG脚本执行的 是 19 mod cgi 在线程型 MPM(worke)上用一个外部cG|守护进程 执行cG|脚本 指定目录索引文件以及为目录提供尾斜杠重定向
19
20 24.37常用模块列表 模块名 功能说明 默认安装 允许 Apache修改或清除传送到cG脚本和Ss页 21 mod env 面的环墳变量 22| mod example hooks提供编写 Apache AP模块的示例 23 mod filter 根据上下文实际情兄对过滤器动态配置 magemap 处理服务器端图像映射 25 mod includ 实现服务端包含文档(Ss|)的解析 od ldap 使用第三方LDAP模块进行LDAP链接服务 记录每个清求的输入、输出的字节数 30 mod mime 根据文件扩展名决定应答的行为和内容 提供内容选择( content negotiation,从几个有效文 31 mod negotiation 32 支持在 NetWare平台上实现SsL加密 是是是是否是否是是是否否 33 支持HTTP11协议的代理和网关服务器 mod_ proxy的AJP支挣模块 35| mod_proxy_balancer mod_proxy的负载均衡模块
20