Apache+php 网站性能优化
1.开启GZIP压缩(针对文件大小) 网页大小可以压缩率可以达到百分之70多;
一、打开php.ini配置文件,找到zlib.output_compression = Off,将
zlib.output_compression = Off;
zlib.output_compression_level = -1
修改为
zlib.output_compression = On;
zlib.output_compression_level = 6
php gzip配置知识点:
1、默认php是不开启zlib整站压缩输出的,而是通过对需要压缩输出的页面使用ob_gzhandler函数实现,两者只能二选一,否则会报错。
2、zlib.output_compression默认值为Off,你可以将其设置为On,或者output buffer size(默认为4k)
3、zlib.output_compression_level代表压缩比,默认推荐设置压缩比值为6,可选范围为1-9,-1代表关闭php zlib(gzip)压缩
二、保存php.ini配置文件,并重启apache服务器
三、打开apache 配置文件httpd.conf,配置装载deflate_module
#LoadModule deflate_module modules/mod_deflate.so
去除开头的#号;
设置压缩类型
<IfModule deflate_module>
SetOutputFilter DEFLATE
# Don’t compress images and other
SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary
SetEnvIfNoCase Request_URI .(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary
SetEnvIfNoCase Request_URI .(?:pdf|doc)$ no-gzip dont-vary
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css
AddOutputFilterByType DEFLATE application/ms* applicationnd* application/postscript application/javascript application/x-javascript
</IfModule>
并重启apache即可。
2.减少request
一、文件合并
方法(1)
下面是使用PHP通过GZIP压缩CSS的实例。
在存放CSS的文件夹中新建一个style.php文件,在此文件中加入以下代码:
1 |
|
如果你处理的是JavaScript文件,你需要将上面代码中的第5行的Content-type修改成以下:
header ("content-type:application/x-javascript; charset: gb2312");
同样需要注意的是文件的编码,这里我用的是gb2312,如果你采用的是UTF-8或其他编码,修改成对应的即可。
修改完成之后,在原引入CSS和JS文件的地方,将.css后缀/.js后缀的文件更换成这个style.php文件即可,如:
script type="text/javascript" src="http://www.i1323.net/scripts/11.js.php?v=121
由于上面代码中使用到了HTTP的Expires(过期)属性用于在客户端缓存CSS/JS代码,所以,如果过期时间设置的太长(比如2020 年),当你在服务器端修改了JS/CSS代码时,客户端可能不会立即生效。解决办法是:在php文件后面添加一个随机参数,如上面例子中的v=121,当下次修改了文件时,记得相应修改此随机参数即可。
方法(2)
可以使用第三方框架如 Mint 解压到根目录就行 使用很方便 例如下:
二、懒加载
例如使用瀑布流,按要求优化首次加载的资源特别是图片比较多的时候。使用AJAX加载会较多。
三、资源大小优化
JS、CSS、图片 等资源 尽量將大小压缩至最小
JS、CSS 推荐工具yuicompressor