目前gzip是一种使用非常广泛的文本压缩方式,尤其在linux平台,而且压缩下过非常明显,通常能压缩70%以上。

压缩过的网站除了可以节省流量,更能改善用户体验,好处不言而喻。但是,有一个问题就是在压缩和解压缩的时候会增加CPU的压力。

今天我分别对PHP网站以及tomcat部署的网站进行压缩

一:PHP网站

php网站又两种压缩方式

方法1.通过使用php zlib扩展实现页面gzip压缩,即使用php内置的函数ob_gzhandler进行gzip压缩输出。

只需在所有页面的头文件增加以下代码

<?php

    if(extension_loaded(‘zlib’) && strstr($_SERVER[‘HTTP_ACCEPT_ENCODING’],’gzip’)){

        ob_start(‘ob_gzhandler’);

    }else{

        exit(‘php zlib使用失败,请确认是否已加载zlib扩展’);

    }

?>

在底部页面增加以下代码

<?php

    if(extension_loaded(‘zlib’)){ob_end_flush();}

?>

将上面的代码加到页面中即可。效果如下

Centos+PHP网站/tomcat网站gzip压缩Centos+PHP网站/tomcat网站gzip压缩

方法2 通过修改php.ini配置文件开启php gzip以实现压缩页面信息压缩传输

找到php.ini配置文件中的

zlib.output_compression = Off

zlib.output_compression_level = -1

改为

zlib.output_compression = On

zlib.output_compression_level = 6

重启apache

找到httpd.conf中的

#LoadModule deflate_module modules/mod_deflate.so

把前面的#(注释)拿掉

重启apache,完成

注意:

  1. 方法1,方法2选其一,不然会报错

2. zlib.output_compression_level代表压缩比,默认推荐设置压缩比值为6,可选范围为1-9,-1代表关闭php zlib(gzip)压缩

二:tomcat部署下的网站

找到tomcat/conf目录下的server.xml文件

打开,找到Service 节点下的Connector

新增

compression=”on”
compressionMinSize=”2048″
noCompressionUserAgents=””
compressableMimeType=”text/html,text/xml,text/plain,text/css,text/javascript,application/javascript”

如下:

Centos+PHP网站/tomcat网站gzip压缩

compression=”on”//是否启用压缩

compressionMinSize=”2048″//只有超过当前设置数值大小的页面才启用压缩(单位是字节B)如果不指定默认大小为2048

noCompressionUserAgents=””//不进行压缩的浏览器

compressableMimeType=”text/html,text/xml,text/plain,text/css,text/javascript,application/javascript”//要进行压缩的文件

注意:

如果之前配置过https就要在443端口下配置相同的内容,如下

Centos+PHP网站/tomcat网站gzip压缩

效果

Centos+PHP网站/tomcat网站gzip压缩

原文链接

相关文章:

  • 2021-05-16
  • 2022-12-23
  • 2021-05-11
  • 2021-09-17
  • 2021-12-09
  • 2022-01-02
  • 2022-02-19
  • 2021-07-27
猜你喜欢
  • 2021-05-19
  • 2021-04-19
  • 2021-04-07
  • 2022-12-23
  • 2021-09-16
相关资源
相似解决方案