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 的提升多个小文件访问的性能模块的主要内容,如果未能解决你的问题,请参考以下文章

[Nginx] – 安全优化 – 配置文件优化

为啥要修改nginx用户和组

Nginx优化--网页压缩

nginx 如何利用gzip压缩配置来优化网站访问速度

Nginx优化--网页压缩与缓存时间

如何设置nginx的虚拟域名及访问目录