使用nginx-http-concat添加nginx资源请求合并功能
1.下载 这是https://github.com/alibaba/nginx-http-concat网址
cd /usr/local/src
wget https://github.com/alibaba/nginx-http-concat/archive/master.zip -O nginx-http-concat-master.zip
2.解压 unzip nginx-http-concat-master.zip
3.再配置下nginx编译参数
查看版本号以及配置信息(目录/模块) 这很重要,因为我们需要安装同一个版本来升级数据
/usr/local/nginx/sbin/nginx -V
也就是在原来的配置上添加 --add-module=--add-module=/usr/local/src/nginx-http-concat-master (解压目录)
make之前备份配置文件,防止意外
cp -r /usr/local/nginx/conf /root/nginxconf
编译安装
make && make install
二、配置使用nginx-http-concat模块
1、配置项
1) concat ,是否打开资源合并开关,选项:on | off,默认:off
2) concat_types ,模块处理的资源类型,默认:text/css application/x-javascript
3) concat_unique ,是否允许合并不同类型的资源,选项:on | off,默认:on
4) concat_max_files ,允许合并的最大资源数目,默认:10
5) concat_delimiter ,合并后的文件内容分隔符,用于区分不同文件的内容
6) concat_ignore_file_error ,是否忽略404或403错误,选项:on | off,默认:off
server {
listen 80;
server_name localhost;
index index.html index.htm;
root /html;
location /static/css/ {
concat on; //开启
concat_max_files 20; //最大合并文件数量是20个
concat_delimiter /* my file */; //
concat_unique off;
concat_types text/css application/javascript;
}
location /status {
stub_status on;
access_log off;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|js)$ {
expires off;
}
}
重启nginx,命令:/usr/local/nginx/sbin/nginx -s reload
创建测试文件,在web目录下创建/static/css目录,并创建文件a.css、b.css,内容随意。
请求地址:http://localhost/my-web/static/css??a.css,b.css,如看到返回a.css、b.css合并内容,则整个配置完成。注意,url中static/css目录必须真实存在,且a.css与b.css必须位于此目录中。