龙空技术网

nginx实现range请求

老王的日志 226

前言:

今天兄弟们对“nginxrange配置”都比较讲究,朋友们都想要学习一些“nginxrange配置”的相关资讯。那么小编同时在网络上搜集了一些对于“nginxrange配置””的相关资讯,希望同学们能喜欢,大家一起来学习一下吧!

前提条件:nginx支持ngx_http_slice_module模块

配置文件示例:

#location 块的配置:location /asd/ {                slice             512k;                proxy_cache       cache;                proxy_cache_key   $uri$is_args$args$slice_range;                proxy_set_header  Range $slice_range;                proxy_set_header Host $host:$server_port;                proxy_set_header X-Real-IP $remote_addr;                proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;                proxy_cache_valid 200 206 304 301 302 10d;        }#设置proxy_cache_pathproxy_cache_path /data/nginx_cache/ levels=1:2 keys_zone=cache:100m inactive=300s max_size=5g;

相关参数解释:

Proxy_cache cache 使用名为cache的对应缓存配置

proxy_cache_valid 200 206 304 301 302 10d; 对httpcode为200…的缓存10天

proxy_cache_key 定义缓存唯一key,通过唯一key来进行hash存取

proxy_set_header 自定义http header头,用于发送给后端真实服务器。

proxy_cache_path 缓存文件路径

levels 设置缓存文件目录层次;levels=1:2 表示两级目录

keys_zone 设置缓存名字和共享内存大小

inactive 在指定时间内没人访问则被删除

max_size 最大缓存空间,如果缓存空间满,默认覆盖掉缓存时间最长的资源。

报错解释:

[alert] mmap(MAP_ANON|MAP_SHARED, 2147483648) failed (12: Cannot allocate memory)

proxy_cache_path没有设置或设置的内存太大导致,建议改成300m

标签: #nginxrange配置