转-linux下apache安装gzip压缩

转自:http://hi.baidu.com/qianwei1017/blog/item/4247184e33143bd5d1c86a1c.html

http://www.ctusky.com/18/0748/

1. 安装 mod_hearders

# cd /home/changyou/httpd.2.2.14/modules/metadata/

# /usr/local/web/apache/bin/apxs -i -c -a mod_deflate.c

apxs号令参数申明:

-i  此选项默示须要履行安装操纵,以安装一个或多个动态共享对象到办事器的modules目次中

-a  主动增长LoadModule行到httpd.conf文件中,以激活此模块,若是此行已经存在,则启用

-A  与 -a 选项类似,然则它增长的LoadModule号令有一个井号前缀(#),即此模块尚未启用

-c  此选项默示须要履行编译操纵。它起首会编译(.c)源法度为对应的目标代码文件(.o),然后连接这些目标代码和files中其余的目标代码文件(.o和.a),以天活泼态共享对象.so文件

-o  若是没有指定,则此输出文件名由files中的第一个文件名获得,也就是默认为mod_name.so

成果报错:

chmod 755 /usr/local/web/apache/modules/mod_deflate.so

chmod: cannot access `mod_deflate.so’: No such file or directory

意思是没有.so文件,所以须要gcc一下

# gcc -shared -o mod_headers.so mod_headers.o

# cp mod_headers.so /usr/local/web/apache/modules/

# /usr/local/web/apache/bin/apxs -i -a -c mod_headers.c

2. 安装 mod_deflate

# /usr/local/web/apache/bin/apxs -i -c -a mod_deflate.c

同样也报上方“No such file or directory”错误

# gcc -shared -o mod_deflate.so mod_deflate.o

# cp mod_deflate.so /usr/local/web/apache/modules/

# /usr/local/web/apache/bin/apxs -i -a -c mod_deflate.c

3. 设备 mod_deflate

httpd.conf 中添加so,而我这里因为在 apxs 时用了 -a 参数,所以so文件已被主动接洽关系

LoadModule deflate_module     modules/mod_deflate.soLoadModule headers_module     modules/mod_headers.so

其实安装deflate时mod_headers并不是必须的,哪为什么我们安装呢?主如果应用了header模块来确保不会发送错误的内容。最后在你的设备文件里参加以下代码,好开启gzip:

AddOutputFilterByType DEFLATE text/html text/plain text/xml application/x-httpd-phpAddOutputFilter DEFLATE css js

或者:

<IfModule mod_deflate.c> DeflateCompressionLevel 7 AddOutputFilterByType DEFLATE text/html text/plain text/xml application/x-httpd-php AddOutputFilter DEFLATE css js</IfModule>