nginx的负载均衡

nginx的负载均衡

Nginx的语法:

syntax:upstreamname{...}

default:

context:http

Upstream对负载均衡的定义

Name标记为备份服务器

Definesagroupofservers.Serverscanlistenondifferentports.Inaddition,serverslisteningonTCPandUNIX-domainsocketscanbemixed.

Example:

upstreambackend{

serverbackend1.example.comweight=5;

server127.0.0.1:8080max_fails=3fail_timeout=30s;

serverunix:/tmp/backend3;

}

ExampleConfiguration

upstreambackend{

serverbackend1.example.comweight=5;

serverbackend2.example.com:8080;

serverunix:/tmp/backend3;

serverbackup1.example.com:8080backup;

serverbackup2.example.com:8080backup;

}

server{

location/{

proxy_passhttp://backend;

}

}

weight=number

设定服务器的权重,默认是1。

max_fails=number

设定Nginx与服务器通信的尝试失败的次数。在fail_timeout参数定义的时间段内,如果失败的次数达到此值,Nginx就认为服务器不可用。在下一个fail_timeout时间段,服务器不会再被尝试。失败的尝试次数默认是1。设为0就会停止统计尝试次数,认为服务器是一直可用的。你可以通过指令proxy_next_upstream、fastcgi_next_upstream和memcached_next_upstream来配置什么是失败的尝试。默认配置时,http_404状态不被认为是失败的尝试。

fail_timeout=time

设定

统计失败尝试次数的时间段。在这段时间中,服务器失败次数达到指定的尝试次数,服务器就被认为不可用。

服务器被认为不可用的时间段。

默认情况下,该超时时间是10秒。

backup

标记为备用服务器。当主服务器不可用以后,请求会被传给这些服务器。

举例:

Nginx作为代理服务器,为后方的两台apache服务器负载均衡,它的的前端ip地址是192.168.20.200后端ip地址192.168.30.200server1apache服务器ip地址为192.168.30.100它的权重为1,Server2apache服务器它的ip地址为192,.168.30.101,权重为2.

upstreambackend{

server192.168.30.100weight=1;

server192.168.30.101weight=2;

}

server{

location/{

proxy_passhttp://backend;

}

}

如图所示:

173711255.png

Server1的站点主目录下的inndex.php的内容是myweight=1

Server2的站点主目录下的inndex.php的内容是myweight=2

当访问nginx的前端地址192.168.20.200,将会被代理到server1server2server的权重是1,所以当用户第一次请求连接nginx时,显示的页面将是sever1站点主目录下首页的内容。Server2的权重是2,当用户第二和第三次请求连接nginx时,显示的页面将是sever,2站点主目录下首页的内容。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章