Tengine是由淘宝网发起的Web服务器项目。ngx_http_concat模块就是其中之一,作用为在同一个请求里返回多个文件拼接。
配置示例
使用??
拼接多个文件
http://example.com/??style1.css,style2.css,foo/style3.css
如果有第三个问好,则表示版本号
http://example.com/??style1.css,style2.css,foo/style3.css?v=102234
使用配置示例
location /static/css/ {
concat on;
concat_max_files 20;
}
location /static/js/ {
concat on;
concat_max_files 30;
concat_types application/javascript;
}
指令
concat
语法:concat [on|off]
默认:off
配置段:http, server, location
作用:允许在给定的配置段中进行串联
concat_types
语法:concat_types MIME types
默认:text/css application/x-javascript
配置段:http, server, location
作用:定义可以在给定配置段中串联的MIME类型。
concat_unique
语法:concat_unique [on|off]
默认:on
配置段:http, server, location
作用:定义是否只能串联给定MIME类型的文件,或者可以串联多个MIME类型。
concat_max_files
语法:concat_max_files编号
默认:10
配置段:http,服务器,位置
作用:定义在给定配置段中可以串联的最大文件数。
更多相关配置见Concat|Nginx
类型差异
nginx concat模块配置js文件拼接时,页面返回400 bad request,原因为不同版本nginx配置的js解析方式不一致。
1、修改nginx mime-type配置
vi /usr/local/nginx/conf/mime.types
application/javascript js;
修改为
application/x-javascript js;
2、更优雅,修改nginx配置
concat on;
concat_types application/javascript;