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

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

转载于:https://my.oschina.net/yuanhaohao/blog/1941141

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值