前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Httpd运维日志:通过apxs添加模块

Httpd运维日志:通过apxs添加模块

作者头像
^_^肥仔John
发布2018-01-18 17:03:26
9570
发布2018-01-18 17:03:26
举报

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中添加

代码语言:javascript
复制
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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2015-08-26 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档