本人这几天一直在看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。

Apache的功能模块的更多相关文章

  1. ubuntu apache开启重写模块

    http://www.iblue.cc/2011/09/ubuntu-apache%E5%BC%80%E5%90%AF%E9%87%8D%E5%86%99%E6%A8%A1%E5%9D%97/ Ubu ...

  2. Java订单功能模块设计与实现

    在商城项目中,之前我们介绍了购物车功能模块的实现,商品加入到购物车之后,就是到购物车结算,然后显示购物车的商品列表,点击去结算,然后到了未提交前的订单列表, 点击提交订单后,生成此订单,返回订单的订单 ...

  3. 文件一键上传、汉字转拼音、excel文件上传下载功能模块的实现

    ----------------------------------------------------------------------------------------------[版权申明: ...

  4. apache的php模块讲解以及搭建phpmyadmin管理数据库mysql

    1.php php的包名字叫做php-common,其配置文件使用的是ini风格的格式. php的配置文件以分号作为注释,把分号去掉表示启动此片段功能. 在这里我们可以看到php在apache中的模块 ...

  5. 以用户注册功能模块为例浅谈MVC架构下的JavaWeb开发流程

    JavaWeb应用开发,撇开分布式不谈,只讨论一个功能服务应用的开发,无论是使用原生的Servlet/JSP方案,还是时下的SSM架构,都有一套经过工程实践考验的最佳实践,这综合考虑了团队协作.项目管 ...

  6. 大数据技术之_14_Oozie学习_Oozie 的简介+Oozie 的功能模块介绍+Oozie 的部署+Oozie 的使用案列

    第1章 Oozie 的简介第2章 Oozie 的功能模块介绍2.1 模块2.2 常用节点第3章 Oozie 的部署3.1 部署 Hadoop(CDH版本的)3.1.1 解压缩 CDH 版本的 hado ...

  7. SNMP 原理及配置简述 net-snmp-utils net-snmp 第2版基于SNMP 群体名(community name) 第3版引入了安全性更高的访问控制方法 SNMP协议操作只有4种 Apache的php_snmp 模块

    SNMP 原理及配置简述  net-snmp-utils  net-snmp 第2版基于SNMP 群体名(community name) 第3版引入了安全性更高的访问控制方法 SNMP协议操作只有4种 ...

  8. Ubuntu上开启Apache Rewrite功能的方法

    Ubuntu上开启Apache Rewrite功能的方法 本文介绍ubuntn系统中开启apache的urlrewrite功能的方法. 在Windows上开启Apache的urlRewrite非常简单 ...

  9. 通过apache,和nginx模块去除html中的空格和tab

    最近一个项目中,合作方要求去除html中的空格,不想改代码,所以百度了一下通过apache,和nginx模块去除html中的空格和tab的方案,下面记录下来: 一.nginx nginx可以通过mod ...

随机推荐

  1. 重启部署在阿里云上的huginn

    背景,因为重新编译安装了gcc,不知怎么服务器上的huginn就停了, 因为之前是安装在docker上的,服务器重启之后需要:1.启动dockerservice docker start2.命令创建h ...

  2. 动态规划——Best Time to Buy and Sell Stock III

    题意:用一个数组表示股票每天的价格,数组的第i个数表示股票在第i天的价格. 如果最多进行两次交易,但必须在买进一只股票前清空手中的股票,求最大的收益. 示例 1:Input: [3,3,5,0,0,3 ...

  3. git 中文文档 及测试命令

    git 使用官方中文文档 https://git-scm.com/book/zh/v2/ 或者你在github上只填写一个仓库名称点击创建后会跳转一个页面给出参考命令如下 echo "# w ...

  4. c#常用数值范围汇总

    short.MaxValue 32767 short.MinValue -32768 int.MaxValue 2147483647 int.MinValue -2147483648 long.Max ...

  5. Installation of CarbonData 1.1.0 with Spark 1.6.2

    关键词:carbondata spark thrift 数据仓库 [Install thrift 0.9.3] 注意 要装thrift-java必须先装ant . 有人说要装boost,我在cento ...

  6. 201771010118《面向对象程序设计(java)》第三周学习总结

    第一部分:理论知识复习部分 第一章            回顾了Java的关键术语,再次熟悉了java程序设计的性能介绍.对Java语言的十多种特性又有了更深刻的理解. 第二章 eclipse开发环境 ...

  7. [bzoj1051]Popular Cows

    刚刚被ysy在联考里虐了,差点爆tan(pi/4),只好来bzoj寻求安慰再被虐一次233 (tarjan是什么智障东西不想打我好弱啊,tarjan都不会打) Description 每一头牛的愿望就 ...

  8. mobile_音悦台

    音悦台 less 可以 width = 1080/67.5rem; /**** 变量定义 ****/ @px: 67.5rem; /**** Start ****/ #wrap { width: 10 ...

  9. javascript的数组之pop()

    pop()方法从数组中删除最后一个元素,并返回该元素的值.此方法更改数组的长度. let a = [1, 2, 3]; a.length; a.pop(); console.log(a); // [1 ...

  10. Selenium 3----定位一组元素+多表单切换+多窗口切换

    定位一组元素 和定位单个元素类似,WebDriver提供了8种用于定位一组元素的方法.定位一组元素的方法与定位单个元素的方法类似,唯一的区别是在单词element后面多了一个s表示复数. find_e ...