Nginx处理前台合并JS,CSS请求(试用于宝塔)
Nginx concat模块安装
cd /www/server/nginx/src/
/**
**下载第三方模块
**/
wget https://github.com/alibaba/nginx-http-concat/archive/master.zip -O nginx-http-concat-master.zip
/**
*解压
**/
unzip nginx-http-concat-master.zip
/**
*查看目前Nginx所包含的模块
**/
nginx -V
++++++++++++++++++++++++++++++显示++++++++++++++++++++++++++++++++++++++++++++++
nginx version: nginx/1.21.4
built by gcc 8.5.0 20210514 (Red Hat 8.5.0-4) (GCC)
built with OpenSSL 1.1.1m 14 Dec 2021
TLS SNI support enabled
configure arguments: **--prefix=/www/server/nginx --add-module=/www/server/nginx/src/ngx_devel_kit --add-module=/www/server/nginx/src/lua_nginx_module --add-module=/www/server/nginx/src/ngx_cache_purge --add-module=/www/server/nginx/src/nginx-sticky-module --with-openssl=/www/server/nginx/src/openssl --with-pcre=pcre-8.43 --with-http_v2_module --with-stream --with-stream_ssl_module --with-stream_ssl_preread_module --with-http_stub_status_module --with-http_ssl_module --with-http_image_filter_module --with-http_gzip_static_module --with-http_gunzip_module --with-ipv6 --with-http_sub_module --with-http_flv_module --with-http_addition_module --with-http_realip_module --with-http_mp4_module --with-ld-opt=-Wl,-E --with-cc-opt=-Wno-error --with-ld-opt=-ljemalloc --with-http_dav_module --add-module=/www/server/nginx/src/nginx-dav-ext-module**
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
/**
*编译进行(将上文--prefix开始部分到结束全部复制,显示啥复制啥,外加--add-module=/www/server/nginx/src/nginx-http-concat-master)
**/
./configure --prefix=/www/server/nginx --add-module=/www/server/nginx/src/ngx_devel_kit --add-module=/www/server/nginx/src/lua_nginx_module --add-module=/www/server/nginx/src/ngx_cache_purge --add-module=/www/server/nginx/src/nginx-sticky-module --with-openssl=/www/server/nginx/src/openssl --with-pcre=pcre-8.43 --with-http_v2_module --with-stream --with-stream_ssl_module --with-stream_ssl_preread_module --with-http_stub_status_module --with-http_ssl_module --with-http_image_filter_module --with-http_gzip_static_module --with-http_gunzip_module --with-ipv6 --with-http_sub_module --with-http_flv_module --with-http_addition_module --with-http_realip_module --with-http_mp4_module --with-ld-opt=-Wl,-E --with-cc-opt=-Wno-error --with-ld-opt=-ljemalloc --with-http_dav_module --add-module=/www/server/nginx/src/nginx-dav-ext-module --add-module=/www/server/nginx/src/nginx-http-concat-master
/**
*执行make
**/
make
/**
**执行make install
**/
make install
/**
*重启nginx
**/
service nginx -s reload
concat配置
server {
listen 80;
server_name
root /data/site/
location /static/ {
concat on; #开启服务
concat_max_files 20; #设置合并的最大文件数为20
concat_unique on; #只允许同类文件合并
}
}
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
concat使用
创建测试文件,在web目录下创建/static目录,并创建文件a.css、b.css,内容随意
请求地址:http://localhost/my-web/static??a.css,b.css,如看到返回a.css、b.css合并内容,则整个配置完成。注意,url中static/css目录必须真实存在,且a.css与b.css必须位于此目录中。