nginx实现反向代理+健康检测

说明
tengine官方说明文档

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

一、反向代理

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;
}

1234567891011

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;
}123456789101112131415161718

二、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上下文即可;123456789101112131415

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;
}
1234567

2.健康检测页面

server {
location /status {
check_status;
}
}
123456
---------------------
作者:木子甘
来源:CSDN
原文:https://blog.csdn.net/tete2csdn/article/details/78508921
版权声明:本文为博主原创文章,转载请附上博文链接!

原文地址:https://www.cnblogs.com/gao88/p/10047018.html

时间: 2024-11-04 13:36:38

nginx实现反向代理+健康检测的相关文章

nginx的反向代理与正向代理

               nginx的反向代理与正向代理 nginx多用于现在公司的企业当中如: 淘宝.新浪博客.新浪播客.网易新闻.六间房.56.co.豆瓣.YUPOO.海内.迅雷在线等多家网站使用 为什么这么多公司愿意使用您想呢?说明nginx有不可取代的优势特点: 我们分析下nginx的特点: (1)跨平台:Nginx 可以在大多数OS编译运行,而且也有Windows的版本: (2)配置异常简单:非常容易上手. (3)非阻塞.高并发连接:官方测试能够支撑5万并发连接,在实际生产环境中跑

NGINX如何反向代理Tomcat并且实现Session保持

简介 LNMT=Linux+Nginx+MySQL+Tomcat: Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器: 在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选: 架构需求 Tomcat实现JSP动态请求解析的基本架构 说明:由后端Tomcat负责解析动态jsp请求,但为了提高响应性能,在同一主机内配置Nginx做反向代理,转发所有请求至tomcat即可: 完整的LNMT架构设计 说明:本篇博客主要讲解单台Hapro

nginx实现反向代理负载均衡

Nginx实现反向代理 nginx代理基于是ngx_http_proxy_module模块的功能,该模块有很多属性配置选项,如: proxy_pass:指定将请求代理至server的URL路径:     proxy_set_header:将发送至 server的报文的某首部进行重写 proxy_send_timeout:在连接断开之前两次发送到server的最大间隔时长:过了这么长时间后端还是没有收到数据,连接会被关闭 proxy_read_timeout:是从后端读取数据的超时时间,两次读取操

Nginx实现反向代理负载均衡与静态缓存

介绍: Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器.在连接高并发的情况下,Nginx是Apache服务器不错的替代品,能够支持高达50000个并发连接数的响应. 实验环境: Hostname IP 系统 规划 n2.preferred 192.168.1.2 Centos 6.5 Web server n3.preferred 192.168.1.3 Centos 6.5 Web server n6.preferred 192.168.1.6

九爷带你了解 nginx 的反向代理

1.1 反向代理初印象 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器. 从上图可以看出:反向代理服务器位于网站机房,代理网站Web服务器接收Http请求,对请求进行转发. 1.2 反向代理的作用 ①保护网站安全:任何来自Internet的请求都必须先经过代理服务器: ②通过配置缓存功能加速Web请求:可以缓存真

Nginx构建反向代理缓存服务器

防伪码:曾经沧海难为水,除却巫山不是云. 代理服务可简单的分为正向代理和反向代理: 正向代理: 用于代理内部网络对Internet的连接请求(如VPN/NAT),客户端指定代理服务器,并将本来要直接发送给目标Web服务器的HTTP请求先发送到代理服务器上,然后由代理服务器去访问Web服务器, 并将Web服务器的Response回传给客户端:  反向代理: 与正向代理相反,如果局域网向Internet提供资源,并让Internet上的其他用户可以访问局域网内资源, 也可以设置一个代理服务器, 它提

nginx配置反向代理概述

一.nginx反向代理:Web服务器的调度器 1.反向代理(Reverse Proxy)方式是指以代理服务器来接受客户端的连接请求,然后将请求转发给网络上的web服务器(可能是apache.nginx.tomcat.iis等),并将从web服务器上得到的结果返回给请求连接的客户端,此时代理服务器对外就表现为一个服务器. 图上可以看出:反向代理服务器代理网站Web服务器接收Http请求,对请求进行转发.而且nginx作为反向代理服务器可以根据用户请求的内容把请求转发给后端不同的web服务器,例如静

Nginx做反向代理总是被系统kill

公司使用Nginx做反向代理,以前都挺正常的,最近不知怎么回事总是无端被系统kill,而在nginx错误日志中也没有信息输出. 网上查了很多资料,也没什么靠谱的回答,唯一觉得有点关联的就是linux OOM Killer了,这篇文章感觉有点关系:理解和配置 Linux 下的 OOM Killer.也给出了相应的解决办法. 但我还是不太放心,万一最后还是被kill了怎么办,想来想去,最后还是决定写一个脚本来进行监控. 脚本功能: 每隔5秒检查一次,查看Nginx进程是否存在,如果不存在,就重新启动

实践NGINX的反向代理与负载均衡

实践NGINX的反向代理与负载均衡 安装nginx过程 [[email protected] opt]# yum install pcre-devel openssl-devel -y [[email protected] opt]# wget -q http://nginx.org/download/nginx-1.10.2.tar.gz [[email protected] opt]# useradd nginx -s /sbin/nologin -M [[email protected]