最近在做的一个项目引入的js库文件比较多,所以导致的问题就是感觉速度会比较慢,而很多库文件都是拿的开源的库,基本上不会改动,所以想是否合并一下来下载。
合并JS方式很多,一般要么是服务器端合并要么是客户端合并,如果是以前我可能会选择客户端合并,但是现在nginx上面有比较成熟的模块nginx-http-concat,所以我就想直接用这个模块省事情多了,而且服务器端合并还有一个好处就是比较容易适应变化。
非覆盖安装
因为需要加入这个新的nginx模块,所以需要重新编译nginx。为了不影响之前的ngxin,所以我们打算采用[nginx添加模块(非覆盖安装][]中的方法来实现飞覆盖安装。主要步骤如下
-
试用nginx -V来查看nginx的版本以及nginx带上的参数,返回如下结果,configure arguments后面是我省略了,你可以自己记住那个编译的版本试用了什么configure,然后下面会用到
nginx version: nginx/1.2.8
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-3) (GCC)
TLS SNI support enabled
configure arguments: ...
-
然后去nginx上面下载对应版本的的nginx的源代码,并解压缩
wget http://nginx.org/download/nginx-1.2.8.tar.gz
tar xzvf nginx-1.2.8.tar.gz
-
按照nginx-http-concat上面说的,git clone一下它的源码
git clone git://github.com/alibaba/nginx-http-concat.git
-
用第一步获得的configure aguments,然后在最后没加上如下配置,调用./configure来配置
--add-module=/home/user/install/nginx-http-concat
-
配置OK之后就调用make
make
-
make完之后在objs目录下面找到nginx文件,然后覆盖掉当前的nginx文件即可
配置静态目录启用nginx-http-concat
可以参考 nginx-http-concat上面的来配置,我这边是在location下面增加了两行
concat on;
concat_max_files 20;
(责任编辑:IT) |