Chinaunix首页 | 论坛 | 博客
  • 博客访问: 885330
  • 博文数量: 254
  • 博客积分: 5350
  • 博客等级: 大校
  • 技术积分: 2045
  • 用 户 组: 普通用户
  • 注册时间: 2008-06-27 13:27
文章分类

全部博文(254)

文章存档

2015年(1)

2014年(9)

2013年(17)

2012年(30)

2011年(150)

2010年(17)

2009年(28)

2008年(2)

分类: 系统运维

2011-08-08 16:40:10

增加缓存功能,增加文本压缩传输功能以节约带宽并加快访问速度deflate模块

httpd-2.2.19

./configure --prefix=/usr/local/httpd --with-apr=/usr/local/apr --with-included-apr=/usr/local/apr/include --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre --enable-rewrite --enable-so --with-mpm=worker -enable-cache --enable -disk-cache --enable-mem-cache --enable-deflate --enable-headers

make; make install

安装完成后竟然在模块里没有找到deflate_moduleheaders_module 模块,参考别人文档手动安装

 

4 安装扩展模块(以安装mo_deflate为例,需要时安装)
4.1
在编译安装apache时安装扩展模块
     
编译安装apache是,执行./configure命令时,在命令尾追加 --enable-deflate参数
4.2
通过编译*.c文件来安装扩展模块
(1)
在解压后的apache文件中查找mod_deflate.c文件,可执如下命令来查找:

Java代码  

# find /lusen/httpd-2.2.19 -name mod_deflate.c  

                      
    
结果会输出文件地址,例如/lusen/lib/httpd-2.2.19/modules/filters/mod_deflate.c
(2)
进入apache安装目录中的bin文件夹,执行如下命令:

Java代码  

# ./apxs -ica /lusen/lib/httpd-2.2.19/modules/filters/mod_deflate.c  


     
如果执行时出错,则将bin目录下的apr-1-config文件中的LDFLAGS=""修改为LDFLAGS="-lz" ,然后再执行上述命令。
     
如果执行时成功,则会在module目录中生成mod_deflate.so文件,并在http.conf文件中添加LoadModule deflate_module modules/mod_deflate.so
apxs
命令参数说明:
-i
此选项表示需要执行安装操作,以安装一个或多个动态共享对象到服务器的modules目录中。
-a
此选项自动增加一个LoadModule行到httpd.conf文件中,以激活此模块,或者,如果此行已经存在,则启用之。
-A
-a 选项类似,但是它增加的LoadModule命令有一个井号前缀(#),即此模块已经准备就绪但尚未启用。
-c
此选项表示需要执行编译操作。它首先会编译C源程序(.c)files为对应的目标代码文件(.o),然后连接这些目标代码和files中其余的目标代码 文件(.o.a),以生成动态共享对象dsofile 。如果没有指定 -o 选项,则此输出文件名由files中的第一个文件名推测得到,也就是默认为mod_name.so

 

但安装生成。加载时确报错:

httpd: Syntax error on line 56 of /usr/local/httpd/conf/httpd.conf: module deflate_module is built-in and can't be loaded

httpd: Syntax error on line 57 of /usr/local/httpd/conf/httpd.conf: module headers_module is built-in and can't be loaded

模块为内建模块,不需要再调入?

[root@test bin]# httpd -l|grep deflate

  mod_deflate.c

[root@test bin]#  httpd -l|grep header

  mod_headers.c

 

原来如此,我说加了代码进出也没有报错。

 

编辑httpd.conf文件,增加配置

#DeflateCompressionLevel 9

AddOutputFilterByType DEFLATE text/html text/plain text/xml application/x-httpd-php

AddOutputFilter DEFLATE js css

SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary

 

BrowserMatch ^Mozilla/4 gzip-only-text/html

BrowserMatch ^Mozilla/4/.0[678] no-gzip

BrowserMatch /bMSI[E] !no-gzip !gzip-only-text/html

Header append Vary User-Agent env=!dont-vary

 

 

#DeflateFilterNote deflate_ratio

#LogFormat “%v %h %l %u %t /”%r/” %>s %b mod_deflate: %{deflate_ratio}n pct.” vhost_with_deflate_info

#CustomLog logs/order.7180.com-access_log vhost_with_deflate_info

 

参考

阅读(1102) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~