nginx 的提升多个小文件访问的性能模块
Posted rdchenxi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx 的提升多个小文件访问的性能模块相关的知识,希望对你有一定的参考价值。
阿里开源的第三方模块下载地址:https://github.com/alibaba/nginx-http-concat
下载模块
git clone https://github.com/alibaba/nginx-http-concat.git
编译进nginx里
cd nginx-1.15.9/ 使用--add-module=参数指定第三方模块路径 ./configure --prefix=/data/web --sbin-path=/usr/bin --user=nginx --group=nginx --with-http_stub_status_module --with-http_auth_request_module --add-module=/root/nginx-http-concat make 主 cp ~/nginx-1.15.9/objs/nginx /usr/bin/ 把可执行文件复制指定目录,备份之前可执行文件
配置
server server_name concat.com; error_log logs/concat_error.log debug; concat on; #是否启用 root html; location /concat concat_max_files 30; # 定义可在给定上下文中连接的最大文件数。请注意给定的URI不能大于平台的页面大小。在Linux上,您可以获得页面大小发布: concat_types text/plain text/css text/html;#定义可在给定上下文中连接的MIME类型 concat_unique on;#定义是否只能连接给定MIME类型的文件,或者是否可合并多类型。例如,如果off 在给定的上下文中设置为then,则可以连接javascript和CSS文件。请注意,默认值为on,意味着只有具有相同MIME类型的文件在给定上下文中连接。所以,如果你有CSS和JS,你不能做这样的事情:为了做到这一点,你必须设置concat_unique off。这适用于您决定通过添加相应的MIME类型来连接的任何其他类型的文件concat_types, concat_delimiter ‘:::‘; #定义两个文件之间的分隔符。如果配置为concat_delimiter“\ n”,则当访问http://example.com/??1.js,2.js时,将在1.js和2.js之间插入‘\ n‘。 concat_ignore_file_error on;#是否忽略404和403。
网页
[[email protected] html]# mkdir concat [[email protected] html]# cd concat/ [[email protected] concat]# echo "1.txt" > 1.txt [[email protected] concat]# echo "2.txt" > 2.txt [[email protected] concat]# echo "2.css" > 2.css [[email protected] concat]# echo "1.css" > 1.css
测试
[[email protected] vhast]# curl www.concat.com/concat/??1.css,2.txt,2.css,1.txt 1.css :::2.txt :::2.css :::1.txt [[email protected] vhast]# curl www.concat.com/concat/??1.css,2.txt,1.txt 1.css :::2.txt :::1.txt [[email protected] vhast]# curl www.concat.com/concat/??1.txt,2.txt 1.txt :::2.txt
以上是关于nginx 的提升多个小文件访问的性能模块的主要内容,如果未能解决你的问题,请参考以下文章