nginx-http-concat模块是由淘宝进行开发。使用它来做合并请求只需要多几个?问号就行。
示例:
css:
http://example.com/??style1.css,style2.css,foo/style3.css
也可以增加参数来更新本地缓存样式
http://example.com/??style1.css,style2.css,foo/style3.css?v=102234
js:
http://example.com/static/??foo.css,bar/foobaz.js
NGINX配置示例:
location /static/css/ {
concat on;
concat_max_files 20;
}
location /static/js/ {
concat on;
concat_max_files 30;
}
安装:
nginx-http-concat源码包
1.解压
wget https://codeload.github.com/alibaba/nginx-http-concat/zip/master
unzip master
cd nginx-http-concat-master/
2.编译安装
./configure --with-http_stub_status_module --add-module=../nginx-http-concat-master/
make
这个编译不是在nginx-http-concat-master文件里面进行编译,而是在里面的nginx源码目录中。
--add-module后面的目录才是之前nginx-http-concat解压出来的路径
3.检查nginx是否包含了nginx-http-concat模块
4.修改nginx站点配置文件:
location /static/css/ {
concat on;
concat_max_files 20;
}
5.HTML修改:
css:
<link rel="stylesheet" href="??style1.css,style2.css,foo/style3.css?v=2345" />
js:
<script src="??bar1.js,bar22.css,subdir/bar3.js?v=3245" />
nginx-http-concat文档:https://www.nginx.com/resources/wiki/modules/concat/