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;