本人这几天一直在看apache相关的书籍,稍微说下apache的结构

本人的制图:

Apache一共有五层功能结构。

从底层到上依次为:

第一层:

  名称:操作系统支持层

  功能:操作系统可以提供底层功能,比如进程、线程、socket通信、文件操作等等,这些操作系统可以是unix的变种、MacOS、windows。

第二层:

  名称:可移植运行库层(libApr)

  功能:因为每种系统所提供的api差异相对较大,所以apache2.0开始,为了让各种系统使用完全相同的函数接口,特地形成一个新的项目,apache 可移植库层(Apache Portable Runtime ,简称Apr)

第三层:

  名称:apache核心功能层

  功能:核心功能层也分为两大块,

    1)apache核心程序

      功能:用于实现apache作为http服务器的基本功能,比如开启、停止http服务器,接受和处理http连接。

    2)apache核心模块

      功能:安装apache有几个模块是必须静态编译的,即mod_so、mod_core,mod_core用于处理配置文件的配置指令,而mod_so用于动态加载其他模块。另外MPM(多进程处理模块)有时候也会被作为核心模块。

第四层:

  名称:可选择功能模块

  功能:比如这些mod_ssl、mod_perl可选择加载的模块,就算不加载它们,apache照样可以运行。

第五层:

  名称:apache模块中使用的第三方支持库

  功能:是使用apache模块开发的第三方库,比如Open SSL。

最新文章

  1. 0035 Java学习笔记-注解
  2. gridview安卓实现单行多列横向滚动
  3. 【转】ACM搜索算法总结 --By GreenHand
  4. 提高Visual Studio开发性能的几款插件
  5. 用NGUI做一个计时条!
  6. Linux PATH变量的设置
  7. java日志概述和原理
  8. HighCharts中的无主题的2D折线图
  9. koa2+webSocket 聊天室
  10. Android系统目录结构详解
  11. python 多线程 及多线程通信,互斥锁,线程池
  12. day52类型转换 运算符 流程控制
  13. js 自定义类Android吐司提示框
  14. shell编程学习笔记(二):Shell中变量的使用
  15. C#7.0新特性(VS2017可用)
  16. fresco加载本地图片、gif资源
  17. 福慧双修&探险 BZOJ4398&BZOJ2407
  18. maven 在pom.xml 中指定仓库位置
  19. sonar常见
  20. Hudson-ci/Using Hudson/Installing Hudson/Installing Hudson RPM--官方文档

热门文章

  1. Classification
  2. for in和for of的区别(转)
  3. h5页面
  4. 原生JavaScript中动画与特效的实现原理
  5. BigDecimal 准确的 double , float 计算
  6. Linux系统(和mac系统)chmod修改权限总结
  7. [LeetCode] Soup Servings 供应汤
  8. [LeetCode] Custom Sort String 自定义排序的字符串
  9. PHP算法学习(7) 双向链表 实现栈
  10. 遍历其 interator