为nginx增加nginx_http_concat模块

为nginx增加nginx_http_concat模块

缘由

最近在做的一个项目引入的js库文件比较多,所以导致的问题就是感觉速度会比较慢,而很多库文件都是拿的开源的库,基本上不会改动,所以想是否合并一下来下载。

合并JS方式很多,一般要么是服务器端合并要么是客户端合并,如果是以前我可能会选择客户端合并,但是现在nginx上面有比较成熟的模块 nginx-http-concat ,所以我就想直接用这个模块省事情多了,而且服务器端合并还有一个好处就是比较容易适应变化。

非覆盖安装

因为需要加入这个新的nginx模块,所以需要重新编译nginx。为了不影响之前的ngxin,所以我们打算采用[nginx添加模块(非覆盖安装][]中的方法来实现飞覆盖安装。主要步骤如下

  1. 试用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: ...
    
  2. 然后去nginx上面下载对应版本的的nginx的源代码,并解压缩

    wget http://nginx.org/download/nginx-1.2.8.tar.gz
    tar xzvf nginx-1.2.8.tar.gz
    
  3. 按照 nginx-http-concat 上面说的,git clone一下它的源码

    git clone git://github.com/alibaba/nginx-http-concat.git
    
  4. 用第一步获得的configure aguments,然后在最后没加上如下配置,调用./configure来配置

    --add-module=/home/user/install/nginx-http-concat
    
  5. 配置OK之后就调用make

    make
    
  6. make完之后在objs目录下面找到nginx文件,然后覆盖掉当前的nginx文件即可

配置静态目录启用nginx-http-concat

可以参考 nginx-http-concat 上面的来配置,我这边是在location下面增加了两行

concat on;
concat_max_files 20;
原文地址:https://www.cnblogs.com/archoncap/p/5855110.html