tengine负载均衡与健康检查

1、修改conf文件夹下的nginx.conf文件,在http内添加以下配置

upstream backend{
    server ip1:port1;
    server ip2:port2 backup;
 
 
    check interval=1000 rise=2 fall=3 timeout=1000 type=http;
    check_http_send "HEAD / HTTP/1.0\r\n\r\n";
    check_http_expect_alive http_2xx http_3xx;
}

其中,

ip1:port1改为服务器部署接口的ip和端口号

ip2:port2改为终端部署接口的ip和端口号

backup:这台服务器就会成为备份服务器。在平时不使用,nginx不会给它转发任何请求。只有当其他节点全部无法连接的时候,nginx才会启用这个节点。一旦有可用的节点恢复服务,该节点则不再使用,又进入后备状态。

 

指令后面的参数意义是:

interval:向后端发送的健康检查包的间隔。

rise(rise_count): 如果连续成功次数达到rise_count,服务器就被认为是up。

fall(fall_count): 如果连续失败次数达到fall_count,服务器就被认为是down。

timeout: 后端健康请求的超时时间。

type=http:健康检查包的类型,发送HTTP请求,通过后端的回复包的状态来判断后端是否存活。

check_http_send:配置http健康检查包发送的请求内容。

check_http_expect_alive :指定HTTP回复的成功状态,默认认为2XX和3XX的状态是健康的。

 

2、在server内添加以下配置

location /api {
   proxy_pass http://backend;
}

 

3、开启gzip,在server内添加以下配置

# 开启gzip on为开启,off为关闭
gzip on;
 
# 检查是否存在请求静态文件的gz结尾的文件,如果有则直接返回该gz文件内容,不存在则先压缩再返回
gzip_static on;
 
# 设置允许压缩的页面最小字节数
gzip_min_length 10k;
 
# 对特定的MIME类型生效,其中'text/html’被系统强制启用
gzip_types text/javascript application/javascript text/css application/json;
 
# Nginx作为反向代理的时候启用,开启或者关闭后端服务器返回的结果
# 匹配的前提是后端服务器必须要返回包含"Via"的 header头
# any - 无条件启用压缩
gzip_proxied any;
 
# 请求加个 vary头,给代理服务器用的,有的浏览器支持压缩,有的不支持,所以避免浪费不支持的也压缩
gzip_vary on;
 
# gzip压缩比(1~9)
gzip_comp_level 7;
 
# 获取多少内存用于缓存压缩结果,‘16 8k’表示以8k * 16 为单位获得。
gzip_buffers 16 8k;

 

4、重启nginx

sudo /usr/local/nginx/sbin/nginx -s reload

 

posted @ 2021-01-21 19:19  家乐先生  阅读(727)  评论(0编辑  收藏  举报