Apache是一个模块化设计的服务,核心只包含主要功能,扩展功能通过模块实现,不同模块可以被静态的编辑进程序,也可以动态加载。
# /usr/local/apache/bin/httpd -M 查看模块
# /usr/local/apache/bin/httpd -l 查看静态编译如程序的模块
Apache模块的动态加载,使用DSO实现:
DSO:Dynamic share object动态共享对象,DSO模块可以在编译服务器之后编译,
也可以用apache扩展工具(apxs)独立去编译动态模块,方法如下:
# /usr/local/apache/bin/apxs -c -i -a /opt/soft/httpd-2.4.6/modules/filters/mod_buffer.c
参数说明:
-c:此选项表明需要执行编译操作
-i:此选项表示需要执行安装操作
-a:此选项自动增加一个LoadModule行到httpd.conf文件中,并激活改模块
编译完成好编辑Apache的配置文件httpd.conf打开该模块
# vim /usr/local/apache/conf/httpd.conf
LoadModule deflate_module modules/mod_deflate.so
添加上面的压缩文件后启动Apache服务是会报错而无法启动,
解决办法:
在Aapche的配置文件中添加:
LoadFile /usr/lib64/libz.so
具体压缩配置选项参考:http://sookk8.blog.51cto.com/455855/376035/
配置完成后可以使用:
# /usr/local/apache/bin/apachectl graceful
重新加载Apache的配置文件,相当于nginx的reload。