扩展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