您的位置:首页 > 运维架构 > Apache

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

2018-09-02 20:53 549 查看
1、apache模块和apxs关系

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

apache通常有四层:

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

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

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

第一层:与OS平台性应用函数,这些OS可以是不同的unix, win32、mac OS等:

apapche所有动态需编译的模块都建立在被静态编译进apapche核心的mod_so模块的基础上,这是唯一不能通过动态安装的模块:而其他的模块均可通过--enable-module=shared,被独立编译生效:

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

优点:1: 更加灵活,由于模块的扩展可以在运行时通过配置文件httpd.conf里的LoadModule来进行,而不是在编译时使用./configure来添加;

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

缺点:并不是所有的平台都支持DSO,并且加载时需要大CPU开销,降低性能:

扩展链接:apache dso https://yq.aliyun.com/articles/6298
2、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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mod_perl Apache mod_ssl