Httpd运维日志:通过apxs添加模块
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
Httpd运维日志:通过apxs添加模块的更多相关文章
- Linux安全运维日志排查几个 tips
运维日志排查记录 前言 记录一些排查常见日志的命令,方法wiki,欢迎补充(Markdown 语法). 常用命令 查找关键词并统计行数 cat 2015_7_25_test_access.log | ...
- 企业运维实践-Nginx使用geoip2模块并利用MaxMind的GeoIP2数据库实现处理不同国家或城市的访问最佳实践指南
关注「WeiyiGeek」公众号 设为「特别关注」每天带你玩转网络安全运维.应用开发.物联网IOT学习! 希望各位看友[关注.点赞.评论.收藏.投币],助力每一个梦想. 本章目录 目录 0x00 前言 ...
- Python运维自动化开发之Fabric模块
本章讲解fabric模块,与上一章的paramiko模块功能类似,fabric是在paramiko基础上又做了一层封装,操作起来更方便.主要用于多台服务器批量执行任务. 非内置Python模块,需要手 ...
- nginx常用运维日志分析命令
nginx常用日志分析命令 运维人员必备 常用日志分析命令 1.总请求数 wc -l access.log |awk '{print $1}' 2.独立IP数 awk '{print $1}' acc ...
- day15-Python运维开发基础(json序列化模块、random / time / zipfile / OS模块函数)
1. json序列化模块 # ### json """ 所有编程语言都能够识别的数据格式叫做json,是字符串 json: 将数据类型序列化成字符串 pickle:将数据 ...
- Python自动化运维之19、Paramiko模块和堡垒机实战
paramiko模块 paramiko是一个用于做远程控制的模块,使用该模块可以对远程服务器进行命令或文件操作,值得一说的是,fabric和ansible内部的远程管理就是使用的paramiko来现实 ...
- python自动化运维笔记3 —— dns处理模块dnspython
1.3 DNS处理模块 dnspython是python实现的一个DNS工具包,它支持几乎所有的记录类型,可以用于查询.传输并动态更新ZONE信息,同时支持TSIG(事物签名)验证消息和EDNS0(扩 ...
- 自动化运维工具ansible中常用模块总结
1.yum模块: name:要操作的软件包名字,可以是一个url或者本地rpm包路径,如name=nginx update_cache:更新软件包缓存,如update_cache=yes则更新软件包缓 ...
- Nginx 配置 HTTP 跳转 HTTPS-Linux运维日志
本文介绍 Nginx 访问 HTTP 跳转 HTTPS 的 4 种配置方式. rewrite Nginx rewrite 有四种 flag: break:在一个请求处理过程中将原来的 url 改写之后 ...
随机推荐
- Restful.Data 开源持久层组件项目最新进展和使用说明
Restful.Data 经过 博客园 和 CSDN 的宣传,目前参与该项目的人数已达到 114 人(群号:338570336),虽大部分并不参与实际开发,但他们所提出的意见和建议以及在试用过程中发现 ...
- 网易云信,发送验证码短信C#版代码
网易云信发送短信代码(C# 版)....需要注意SHA1 String有转换小写!!!! using System; using System.Collections.Generic; using S ...
- [.NET领域驱动设计实战系列]专题九:DDD案例:网上书店AOP和站点地图的实现
一.引言 在前面一专题介绍到,要让缓存生效还需要实现对AOP(面向切面编程)的支持.所以本专题将介绍了网上书店案例中AOP的实现.关于AOP的概念,大家可以参考文章:http://www.cnblog ...
- bootstrap-datetimepicker.js 设置开始时间的Bug。
原地址:http://www.malot.fr/bootstrap-datetimepicker 修改的地方有三处: 1. var months = this.setTitle('.datetimep ...
- WebAdaptor Object reference not set to an instance of an object.
C:\inetpub\wwwroot\arcgis目录下webAdaptor.config文件内容被清空,从别的地方拷贝一份即可. <?xml version="1.0" e ...
- Java序列化格式详解
RPC的世界,由于涉及到进程间网络远程通信,不可避免的需要将信息序列化后在网络间传送,序列化有两大流派: 文本和二进制. 文本序列化 序列化的实现有很多方式,在异构系统中最常用的就是定义成人类可读的文 ...
- Tomcat源码阅读(二)初始化
近来,我开始阅读tomcat的源码,感觉还挺清晰易懂:为了方便理解,我参考了网上的一些文章,把tomcat的组成归纳一下:整个tomcat的组成如下图所示: Tomcat在接收到用户请求时,将会通过以 ...
- 复杂 XML 的 序列化 反序列化
已知.xml(再此命名default.xml)文件,请将其反序列化到一个实例对象. <?xml version="1.0" encoding="utf-8" ...
- hibernate(六) cascade(级联)和inverse关系详解
序言 写这篇文章之前,自己也查了很多的资料来搞清楚这两者的关系和各自所做的事情,但是百度一搜,大多数博文感觉说的云里雾里,可能博主自己清楚是怎么一回事,但是给一个不懂的人或者一知半解的人看的话,别人也 ...
- 【WP开发】实现“摇一摇”功能
尽管我的微信是每八个月登录一次,但我相信各位玩得比我多.微信有一个“摇一摇”功能,这个功能其实是利用了加速度传感器来实现的,这个传感器,我估计再低端的手机都会有的,这是严重基本的传感器. 重力加速度既 ...