nginx实现range请求
Posted better_feng
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx实现range请求相关的知识,希望对你有一定的参考价值。
前提条件: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_path
proxy_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 最大缓存空间,如果缓存空间满,默认覆盖掉缓存时间最长的资源。
参考文档:
https://blog.csdn.net/ai2000ai/article/details/80485352
?https://blog.csdn.net/guowenyan001/article/details/50836490
报错解释:
[alert] mmap(MAP_ANON|MAP_SHARED, 2147483648) failed (12: Cannot allocate memory)
proxy_cache_path没有设置或设置的内存太大导致,建议改成300m
以上是关于nginx实现range请求的主要内容,如果未能解决你的问题,请参考以下文章
Nginx——Nginx启动报错Job for nginx.service failed because the control process exited with error code(代码片段