nginx-http-concat 是一个 Nginx 扩展模块,用来合并 HTTP 请求。

1. 下载

访问 https://github.com/alibaba/nginx-http-concat/releases 官网下载最新的源包,如:

  1. # 下载
  2. wget https://github.com/alibaba/nginx-http-concat/archive/1.2.2.tar.gz
  3. # 解压并记录解压后的目录
  4. tar xzf 1.2.2.tar.gz

2. 安装

使用 编译安装 ,在配置 configure 时添加参数:

  1. # 配置
  2. ./configure 其他编译参数 --add-module=/刚才解压的目录
  3. # 安装
  4. make
  5. [sudo] make install

注意: 如果是重新编译安装时不要运行 make install,可参数: 重新编译安装
如我的配置:

  1. ./configure
  2. --...
  3. --add-module=/home/work/src/nginx-http-concat-1.2.2

如果有多个 --add-module 分别对应写上即可

3. 配置

使用 location 匹配到你想要匹配的路径,对其设置参数:

  1. server {
  2. location /static/css/ {
  3. concat on;
  4. concat_types text/css;
  5. concat_max_files 20;
  6. }
  7. location /static/js/ {
  8. concat on;
  9. concat_types application/javascript;
  10. concat_max_files 30;
  11. }
  12. }

重启服务,如: nginx -s reload
更新配置项点击: https://github.com/alibaba/nginx-http-concat#module-directives

4. 使用

现在就可以通过 url 中的??来合并了,比如: /static/css/??a.css,path/b.css