本文编写于 1173 天前,最后修改于 1173 天前,其中某些信息可能已经过时。
down标识关闭状态
down将服务器标记为不可用状态
upstream load_pass{
server 172.16.16.2:80 down;#一般用于服务器维护
server 172.16.16.3:80;
}
server {
listen 80;
server_name jsocn.com;
location / {
proxy_pass http://load_pass;
include proxy_params;
}
}
backup标识备份状态
backup将服务器标为备份服务器。当服务器不可用时,将请求传递至备份服务器。
upstream load_pass{
server 172.16.16.2:80 backup;
server 172.16.16.3:80;
}
server {
listen 80;
server_name jsocn.com;
location / {
proxy_pass http://load_pass;
include proxy_params;
}
}
max_conns限制连接数
用于限制每个后端节点的最大tcp连接数,如果超出则抛出错误
upstream load_pass{
server 172.16.16.2:80 max_conns=2;
server 172.16.16.3:80 max_conns=2;
}
server {
listen 80;
server_name jsocn.com;
location / {
proxy_pass http://load_pass;
include proxy_params;
}
}
keepalive提高吞吐量
keepalive是与后端节点激活缓存,也就是长链接,用于提高网站吞吐量。默认情况下没有启用长链接功能,当有请求时,需要建立连接,维护连接,关闭连接,这样会产生网络消耗,当所有链接都缓存了,当链接空闲时,又会占用资源,所以我们可以使用keepalive来激活缓存,同时还可以使用keepalive参数来限制最大空闲连接数。
upstream web{
server 172.16.16.2;
server 172.16.16.3;
keepalive 16; #最大空闲连接数,注意不是最大连接数
keepalive_timeout 100s; #空闲连接的超时时间
}
server {
listen 80;
server_name jsocn.com;
location / {
proxy_pass http://web;
proxy_http_version 1.1;
proxy_set_header Connection "";
}
}
max_fails和fails_timeout
max_fails=2 检测节点通讯2次,若两次都失败则判断服务器不可用
fails_timeout=5s 服务器通讯失败后,间隔5秒后再去检测
在fails_timeout设定时间内,与服务器连接失败打到max_fails则认为服务器不可用
upstream load_pass{
server 172.16.16.2:80 max_fails=2 fail_timeout=5s;若不设置默认次数为1超时为10秒
server 172.16.16.3:80 max_fails=2 fail_timeout=5s;
}
server {
listen 80;
server_name jsocn.com;
location / {
proxy_pass http://load_pass;
include proxy_params;
}
}