上游如何在nginx(memcached_pa​​ss)中工作?

如果前一个主机不可用或不存在,nginx是否会转到上游块中的下一个主机?

upstream cache_cluster { 127.0.0.1:9000; //something on this port 127.0.0.1:11211; //memcached instance on this port } location { //..some code here memcached_pass cache_cluster; error_page 404 502 504 = @something; } 

上游只提供一个服务器列表,以及某种权重。 要告诉Nginx如果其中一个服务器失败了,你需要用memcached_next_upstream来控制它。

来自Nginx的文档 :

memcached_next_upstream

语法 :memcached_next_upstream [error | 超时| invalid_response | not_found | closures]

默认 :错误超时

上下文 :http,服务器,位置

哪个失败情况应该导致请求被转发到另一个上游服务器? 仅当memcached_pa​​ss中的值是具有两个或更多服务器的上游时才适用。

如文档中所述,缺省行为是错误/超时,在大多数情况下应该足够了。