扩展40:apache的模块介绍及apxs应用

一、apache模块和apxs关系html

apache是一个模块化的软件,能够自由的选择要使用的模块,apache在编译时能够选择被静态编译进主配置文件httpd里面的,也能够编译成独立于主配置文件httpd的动态共享对象模块(DSO),DSO模块能够是在编译服务器以后再手动编译,也能够用apache的扩展工具apxs来编译:apache

apache一般有四层:服务器

第四层:使用apache开发的第三方库:模块化

第三层:可选的一些附加功能的模块(mod_ssl,mod_perl),实现独立的分离功能,这些模块没有一个是必须的,而且运行一个apache不须要任何一个此层的模块:此层的模块是互相依赖的:函数

第二层:这是apapche的基本功能库,这层包括apapche的核心,http_core,实现http的基本功能,保持预生成子进程(per-forked)模型,处理请求进程等:工具

第一层:与OS平台性应用函数,这些OS能够是不一样的unix, win3二、mac OS等:性能

apapche全部动态需编译的模块都创建在被静态编译进apapche核心的mod_so模块的基础上,这是惟一不能经过动态安装的模块:而其余的模块都可经过--enable-module=shared,被独立编译生效:.net

基于DSO的模块扩展的优势与缺点:unix

优势:1: 更加灵活,因为模块的扩展能够在运行时经过配置文件httpd.conf里的LoadModule来进行,而不是在编译时使用./configure来添加;rest

2: apache在安装完成后使用第三方模块被轻易的扩展,方便厂商维护,而且使用Apache模块,使用DSO配置apxs,能够脱离Apache源代码树,仅仅须要一个apxs  -i和apache  restart,就能够把模块新版本归入运行中的Apache服务器:

缺点:并非全部的平台都支持DSO,而且加载时须要大CPU开销,下降性能:

扩展连接:apache dso https://yq.aliyun.com/articles/6298

二、apxs做为一个apache安装和编译扩展模块的工具,可是要使用这个扩展机制,你的平台要支持DSO特性,并且apache必须内建了mod_os模块,使用-l查看是否支持了这个模块:   /usr/local/apapche2.4/bin/apachectl   -l   

扩展:apache apxs http://man.chinaunix.net/newsoft/ApacheMenual_CN_2.2new/programs/apxs.html

相关文章
相关标签/搜索