Brief
在部署Httpd时为方便管理和安全等原因,我们仅会安装所需的模块,那么后期功能扩展时则需要通过Httpd内置提供的apxs程序来进行模块添加。
而apxs程序则位于apache/bin目录下。
Premise
首先我们的平台必须支持DSO特性,而且Httpd必须已经内建了mod_so模块。
DSO(Dynamic Shared Object,动态共享对象)
是一种动态连接/加载的机制,从而可以在运行时将编译成特殊格式的代码加载到可执行程序的地址空间。然后通过mod_so提供的LoadModule指令在运行时加载到Httpd服务器中。
mod_so模块
作用:运行时加载DSO模块(Httpd进程启动时可加载DSO模块来扩展功能)
后缀:.so或.dll
检查是否已内建mod_so模块: > httpd -l | grep mod_so
Install module by apxs
apxs的全称为APache eXtenSion作为Httpd服务器编译和安装扩展模块的工具,用于编译一个或多个程序或目标代码文件为动态共享对象。
> apxs -i -a -c <file>
<file>可以是C源码文件(.c)、地址独立的目标代码文件(.o)甚至是一个库(.a)。
Httpd默认支持的模块C源码文件位于apache/modules/metadata/目录下,如mod_headers.c (若要配置请求头、响应头的信息必须通过它)
> /app/apache/bin/apxs -i -a -c /app/apache/modules/metadata/mod_headers.c 执行后在/app/apache/modules/下多了一个mod_headers.so文件
然后我们再在/app/apache/conf/httpd.conf中添加
LoadModule headers_module /modules/mod_headers.so <IfModule headers_module> Header add Access-Control-Allow-Origin * Header add Access-Control-Allow-Method "POST,GET,OPTIONS" </IfModule>
Thanks
http://man.chinaunix.net/newsoft/ApacheMenual_CN_2.2new/dso.html
http://blog.51yip.com/apachenginx/871.html
http://man.chinaunix.net/newsoft/ApacheMenual_CN_2.2new/programs/apxs.html
如果您觉得本文的内容有趣就扫一下吧!捐赠互勉!
公告
作品:
【推荐】加入腾讯云自媒体扶持计划,免费领取域名&服务器
· 京东宣布成立三大事业群 打造积木型组织拥抱无界零售变革
· 苏宁宣布重磅福利:“7天无理由退货”线上线下统一标准
· 兴趣降温 安卓厂商无意模仿iPhone X推出3D识别
· 乐视云更名新乐视云联:仍未获云服务牌照
· 微软搜索引擎Bing改进航班 电影和比赛结果查询
» 更多新闻...
· 以操作系统的角度述说线程与进程
· 软件测试转型之路
· 门内门外看招聘
· 大道至简,职场上做人做事做管理