我是靠谱客的博主 落后抽屉,最近开发中收集的这篇文章主要介绍nginx实现反向代理+健康检测一、反向代理二、real-server健康检测,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

说明
tengine官方说明文档

nginx 对于后端RS的检查机制不完善
所有用Tengine进行反向代理

一、反向代理

1.定义后端real-server(在http段)


upstream static_server {
server 192.168.17.175:80 weight=5;
server 192.168.17.176:80 weight=3;
}
upstream basic_server {
server 192.168.17.175:80 weight=2;
server 192.168.17.176:80 weight=5;
}

2.location 匹配到自定义内容 代理到对应的real-server(server段)


server {
listen
80 default_server;
server_name
_;
location ~ ^/images {
index index.php index.html;
proxy_pass http://static_server;
}
location ~* .(jpg|png|jpeg|gif) {
proxy_pass http://static_server;
}
#匹配到/youxi
则全部代理到 http://basic_server/index.html;
location ~ /youxi {
rewrite ^(.*)$ /index.html break;
proxy_pass http://basic_server/index.html;
}

二、real-server健康检测

模块
nginx_upstream_check_module-master
使用
upstream块里可以用多个server选项配置多个后端服务器,同时还可配置对后端服务器的健康状态检查,
可以在server后面加上
max_fails(proxy_next_upstream指定检查策略,默认为返回超时为失败)和
fail_timeout参数实现;
也可以用health_check选项来实现
health_check可以指定的参数较多,不过需要定义在location上下文中。
另外,可以指定代理服务器自身作为备份server,当所有后端服务器都宕机时,对外提供维护提示页面。
指定负载均衡策略
主要有round_robin(加权轮询,默认)、
hash、ip_hash、least_conn(最少连接)
least_time(最少响应时间,商业版本)
策略定义在upstream上下文即可;

1.对real-server进行健康检测(upstream中)

 upstream basic_server {
server 192.168.17.175:80 weight=2;
server 192.168.17.176:80 weight=5;
check interval=3000 rise=2 fall=5 timeout=2000 type=http;
check_http_expect_alive http_2xx http_3xx;
}

2.健康检测页面

server {
location /status {
check_status;
}
}

最后

以上就是落后抽屉为你收集整理的nginx实现反向代理+健康检测一、反向代理二、real-server健康检测的全部内容,希望文章能够帮你解决nginx实现反向代理+健康检测一、反向代理二、real-server健康检测所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部