nginx中文文档-ngx_http_memcached_module

此页面版本:2016-06-08
ngx_http_memcached_module模块用于接收memcached服务器的响应。关键字设置在$memcached_key变量中。响应应该事先通过外部nginx放在memcached中。

示例配置

server {
    location / {
        set            $memcached_key "$uri?$args";
        memcached_pass host:11211;
        error_page     404 502 504 = @fallback;
    }

    location @fallback {
        proxy_pass     http://backend;
    }
}

memcached_bind

语法:memcached_bind address [transparent] | off
默认:—
上下文:http, server, location
版本:0.8.22+

指定的本地IP地址发起到memcached服务器建立外部连接。参数可包含变量(1.3.12+)。特殊值off(1.3.12+)取消继承于上层memcached_bind指令的影响,允许系统自动分配本地IP地址。
transparent参数(1.11.0+)从一个非本地IP地址发起到memcached服务器的外部连接,例如从一个真实的客户端IP地址:
memcached_bind $remote_addr transparent
为使该参数生效,需要以超级用户的身份运行nginx进程,并配置路由表阻断来自memcached服务器的网络流量。

memcached_buffer_size

语法:memcached_buffer_size size
默认:memcached_buffer_size 4k|8k
上下文:http, server, location

设置用于读取来自memcached服务器响应的缓冲区大小。响应会在接收后同步的传给客户端。

memcached_connect_timeout

语法:memcached_connect_timeout time
默认:memcached_connect_timeout 60s
上下文:http, server, location

定义与memcached服务器建立连接的超时时间。注意超时时间通常不超过75秒。

memcached_force_ranges

语法:memcached_force_ranges on | off
默认:memcached_force_ranges off
上下文:http, server, location
版本:1.7.7+

启用同时为缓存和不缓存的来自于memcached服务器的响应而忽略“Accept-Ranges”响应头域的byte-range功能支持。

memcached_gzip_flag

语法:memcached_gzip_flag flag
默认:—
上下文:http, server, location
版本:1.3.6+

启用测试flags的值,如果memcached服务器返回该值,则在响应头中添加“Content-Encoding”值“gzip”。

memcached_next_upstream

语法:memcached_next_upstream error | timeout | invalid_response | not_found | off …
默认:memcached_next_upstream error timeout
上下文:http, server, location

定义在哪种情况下请求会传给下一个服务器:
error
当与服务器建立连接、发送请求或读取响应头时出错

timeout
当与服务器建立连接、发送请求或读取响应头时超时

invalid_response
服务器返回响应空或无效的响应

not_found
响应在服务器上找不到

off
关闭传递给下一个服务器的功能

请求只有在还未传给客户端的情况下可以传到下一个服务器上。也就是说,当响应传输过程中发生错误或超时,是无法得到修正的。
指令同时定义了哪种情况会认为是与服务器连接不成功的尝试,error, timeout 和invalid_header总会被认为是不成功的尝试,即使它们没有定义在指令中。not_found从不会被认为是失败的尝试。

memcached_next_upstream_timeout

语法:memcached_next_upstream_timeout time
默认:memcached_next_upstream_timeout 0
上下文:http, server, location
版本:1.7.5+

设置时间限制,在此期间请求可以传给下一个服务器。0值关闭这个限制。

memcached_next_upstream_tries

语法:memcached_next_upstream_tries number
默认:memcached_next_upstream_tries 0
上下文:http, server, location
版本:1.7.5+

设置尝试传递请求到下一个服务器的次数限制。0值关闭这个限制。

memcached_pass

语法:memcached_pass address
默认:—
上下文:location, if in location

设置memcached服务器地址。地址可以定义为一个域名或IP和端口:
memcached_pass localhost:11211;
或UNIX-domain socket路径:
memcached_pass unix:/tmp/memcached.socket;
如果一个域名解析为多个地址,它们将通过轮询方式使用。另外地址可以定义为服务器组。

memcached_read_timeout

语法:memcached_read_timeout time
默认:memcached_read_timeout 60s
上下文:http, server, location

定义从memcached服务器读取响应的超时时间。超时的设置只应用于两个成功的读操作之间,并不是整个响应的传输。如果memcached服务器在此期间没有传送任何数据,连接将关闭。

memcached_send_timeout

语法:memcached_send_timeout time
默认:memcached_send_timeout 60s
上下文:http, server, location

设置传输请求到memcached服务器的超时时间。超时时间作用于两次成功的写操作,而不是整个请求的传输。如果memcached在此期间没有收到任何数据,连接将关闭。

内嵌变量


$memcached_key
定义一个关键字用于从memcached服务器接收响应。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

You must enable javascript to see captcha here!