google Minify使用笔记 apache+jboss
今日为优化朋友的酒店预订网站www.100join.com 做了google minify的可行性研究。minify的好处就不用说太多了,主要是减少对服务器的请求,压缩流量,提高访问速度。
我的研发电脑是windows xp系统,所以研究只能使用各种windows版本软件。linux的待以后正式部属后补上。基本上大同小异的。
步骤一:
下载httpd-2.2.15-win32-x86-openssl-0.9.8m-r2.msi
下载php-5.3.2-Win32-VC6-x86.zip (Minify使用php写的,所以需要php支持。使用apache的请使用VC6 thread safe版本)
下载minify_2.1.3.zip
下载jboss(由于我已经有了Jboss4.2.2,所以大家自己找合适版本吧)
步骤二:
安装apache。windows版本就是一例的按下一步安装就好了。我的documentRoot设的是D:/www
安装php。我使用的是zip版本,直接解压在D:\php5。
安装minify。同上,解压在D:\minify。
步骤三:
打开apache httpd.config文件,在一大堆LoadModule下面添加:
##php5apache2_2.dll是给apache2.2版本使用的,其他版本请注意对应合适的dll版本。
LoadModule php5_module "D:/php5/php5apache2_2.dll"
##设置php的安装目录,不需要想php4一样再拷贝php5ts.lib去C:\windows下面了。
PHPIniDir "D:/php5"
##设置.php结尾请求的处理器##
addHandler application/x-httpd-php .php
SetHandler application/x-httpd-php
另外取消LoadModule rewrite_module modules/mod_rewrite.so前面的#符号,minify需要用到rewrite模块。
找的目录声明文字,更改如下:
Options Indexes FollowSymLinks
AllowOverride ALL
###不要使用alias或symLinks链接外部js或css文件,minify读不到DocumentRoot外的文件(目前还未解决),把js或css文件都放在DocumentRoot下,我的路径是D:/www/lib###
步骤四:
拷贝d:/minify下的min目录至 D:/www。
打开/min/config.php目录,修改 $min_documentRoot = 'D:\\www'; //注意这里使用双后斜线“\\”,并且不能以"\\"结尾,如'D:\\www\\'。
步骤五:
做个测试:在index.html中添加
保存运行。
成功!
另:我的apache和jboss是使用mod_jk方式连在一起的。这点不影响对minify的测试,但是如果要测试部属在jboss上的应用则有关联。网上很多,大家可以找找。
=====================使用过程发现的问题========================
在成功安装minify后,使用过程发现页面完全加载时间反而变长了。。经过分析发现了一些问题。
页面的部分值需要从js文件读取让后写入页面dom元素。比如:城市列表是从js文件读取的。
由于我使用的是jquery,所以必须要先加载jquery js lib包。我的minify把所有js文件都做一个请求加载。写法如下:
这样造成获取的js文件内容非常之多,从中寻找一个city变量(放在city.js文件中)需要花费不少时间。
之后我将minify写成了2个请求。
测试后发现速度快了很多。基本达到要求。
后来又加入了apache的header及deflate模块,以支持页面,图片,js,css的gzip压缩和缓存。。目前来说速度非常之理想。
当然还有很多改进空间。
有时间继续。
页:
[1]