Nginx反向代理、负载均衡功能
环境:
[root@db02 ~]# uname -a
Linux db02 2.6.-.el6.x86_64 # SMP Tue Mar :: UTC x86_64 x86_64 x86_64 GNU/Linux
[root@db02 ~]# cat /etc/redhat-release
CentOS release 6.9 (Final)
Nginx反向代理知识概念
反向代理与正向代理
此图来源: http://colabug.com/866451.html

反向代理
- 接收请求,完成请求处理
- 接收响应,返回告知响应
数据转发(正向代理)
- 接收请求,转发数据请求
- 接收响应,转发数据响应
nginx反向代理设置
nginx通过proxy_pass_http 配置代理站点,upstream实现负载均衡。
upstream模块: 类似于一个池塘,将nginx节点放置到池塘中
proxy_pass_http 模块: 用池塘里面的nginx节点,利用proxy进行调用
负载均衡的配置文件
worker_processes ;
events {
worker_connections ;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout ;
upstream server_pools {
server 10.0.0.7:;
server 10.0.0.8:;
server 10.0.0.9:;
}
server {
listen ;
server_name bbs.zxpo.com;
location / {
proxy_pass http://server_pools;
}
}
}
负载均衡参数介绍
|
upstream模块内参数 |
参数说明 |
|
server 10.0.10.8:80 |
负载均衡后面的RS配置,可以是IP或域名,如果端口不写,默认是80端口。高并发场景下,ip可换成域名,通过DN做负载均衡 |
|
weigth = 1 |
代表服务器的权重,默认值是1。权重数字越大表示接受的请求比例越大 |
|
max_ fails=5 |
Nginx尝试连接后端主机失败的次数,这个值是配合proxy_next_upstream、 fastcgi_next_upstream和memcached_next_upstream这三个参数来使用的。当nginx接收后端服务器返回这三个参数定义的状态码时,会将这个请求转发给正常工作的后端服务器,例如404、502、503、Max_ fails的默认值是1; 企业场景下建议 2-3次。根据业务需求去配置 |
|
fail_ timeout=10s |
在max_ fails定义的失败次数后,距离下次检查的间隔时间,默认是10s ;如果max_ fails是5 ,它就检测5次,如果5次都是502 ,那么,它就会根据fail_timeout的值,等待10s再去检查,还是只检查一次,如果持续502 ,在不重新加载 Nginx 配置的情况下,每隔 l0s都只检查一次。常规业务2~3秒比较合理,比如京东3 秒,蓝汛3秒,可根据业务需求去配置。 |
|
backup |
热备配置(RS芍点的高可用),当前面激活的 RS都失败后会自动后用热备RS这标志着这个服务器作为备份服务器,若主服务器全部宕机了,就会向它转发请求,注意:当负载调度算法为ip_hash时,后端服务器在负载均衡调度中的状态不能是weight和backup |
|
down |
这标志着服务器永远不可用,这个参数可配合 ip_hash使用;类似注释效果 |
参数在配置文件中的格式
upstream server_pools {
server 10.0.0.7 weight= max_fails= fail_timeout=10s;
server 10.0.0.8 weight= max_fails= fail_timeout=10s;
server 10.0.0.9 weight= max_fails= fail_timeout=10s;
}
Nginx反向代理、负载均衡功能的更多相关文章
- 十.nginx反向代理负载均衡服务实践部署
期中集群架构-第十章-nginx反向代理负载均衡章节章节====================================================================== 0 ...
- Nginx 反向代理 负载均衡 虚拟主机配置
Nginx 反向代理 负载均衡 虚拟主机配置 通过本章你将学会利用Nginx配置多台虚拟主机,清楚代理服务器的作用,区分正向代理和反向代理的区别,搭建使用Nginx反向搭理和负载均衡,了解Nginx常 ...
- Nginx 反向代理 负载均衡 虚拟主机
Nginx 反向代理 负载均衡 虚拟主机配置 通过本章你将学会利用Nginx配置多台虚拟主机,清楚代理服务器的作用,区分正向代理和反向代理的区别,搭建使用Nginx反向搭理和负载均衡,了解Nginx常 ...
- 【转】Nginx 反向代理 负载均衡 虚拟主机配置
原文:http://www.cnblogs.com/itdragon/p/8059000.html Nginx 反向代理 负载均衡 虚拟主机配置 通过本章你将学会利用Nginx配置多台虚拟主机,清楚代 ...
- Centos7.4 Nginx反向代理+负载均衡配置
Ningx是一款高性能的HTTP和反向代理服务器,配置起来也比较简单. 测试环境: 172.16.65.190 Nginx-反向代理 172.16.65.191 Ningx-Web 172.16.65 ...
- 项目实战2.2—nginx 反向代理负载均衡、动静分离和缓存的实现
实验一:实现反向代理负载均衡且动静分离 1.环境准备: 机器名称 IP配置 服务角色 备注 nginx VIP:172.17.11.11 反向代理服务器 开启代理功能 设置监控,调度 rs01 RIP ...
- 项目实战2.1—nginx 反向代理负载均衡、动静分离和缓存的实现
总项目流程图,详见 http://www.cnblogs.com/along21/p/8000812.html 实验一:实现反向代理负载均衡且动静分离 1.环境准备: 机器名称 IP配置 服务角色 备 ...
- 项目实战02:nginx 反向代理负载均衡、动静分离和缓存的实现
目录 实验一:实现反向代理负载均衡且动静分离 1.环境准备: 2.下载编译安装tengine 3.设置代理服务器的配置文件 4.启动tengine服务 5.开启后端的web服务 6.测试 实验二:ng ...
- 如何使用Weave以及Docker搭建Nginx反向代理/负载均衡服务器
Hi, 今天我们将会学习如何使用 Weave 和 Docker 搭建 Nginx 的反向代理/负载均衡服务器.Weave 可以创建一个虚拟网络将 Docker 容器彼此连接在一起,支持跨主机部署及自动 ...
- Centos 7.6配置nginx反向代理负载均衡集群
一,实验介绍 利用三台centos7虚拟机搭建简单的nginx反向代理负载集群, 三台虚拟机地址及功能介绍 192.168.2.76 nginx负载均衡器 192.168.2.82 web ...
随机推荐
- 「BZOJ 2809」「APIO 2012」Dispatching「启发式合并」
题意 给定一个\(1\)为根的树,每个点有\(c,w\)两个属性,你需要从某个点\(u\)子树里选择\(k\)个点,满足选出来的点\(\sum_{i=1}^k w(i)\leq m\),最大化\(k\ ...
- Codeforces Round #549 (Div. 2)A. The Doors
A. The Doors time limit per test 1 second memory limit per test 256 megabytes input standard input o ...
- tcp连接过程中的三次握手和四次挥手
在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手握手建立连接 @第一次握手: 建立连接是,客户端A发送SYN包到服务器B,并进入SYN_SEND状态,等待B确认. @第二次握手: 服务 ...
- django日期查询出现UTC日志转换CONVERT_TZ出错的问题
select CONVERT_TZ(NOW(), 'UTC', 'UTC') 出现NULL值, 原因是MySQL少了时区表: SELECT * FROM mysql.time_zone; SELECT ...
- SDUT OJ 数据结构实验之二叉树七:叶子问题
数据结构实验之二叉树七:叶子问题 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Discuss Problem Descri ...
- 解决vs code中golang插件依赖安装失败问题
解决vs code中golang插件依赖安装失败问题 Installing github.com/nsf/gocode SUCCEEDED Installing github.com/uudashr/ ...
- pytest的一些你爱不释手的插件
1. pytest-html 安装: pip install pytest-html # 通过pip安装pytest-html 运行测试文件的时候,命令行加上对应参数即可 比如:pytest test ...
- javascript高级程序设计---js事件思维导图
绘制思维软件与平时用的笔记,以及导出功能,这三个问题综合起来,于是我把思维导图分开画 1.js事件的基本概念 2.js事件的事件处理程序 3.js事件的事件对象
- Qt 学习之路 2(32):贪吃蛇游戏(2)
Qt 学习之路 2(32):贪吃蛇游戏(2) 豆子 2012年12月27日 Qt 学习之路 2 55条评论 下面我们继续上一章的内容.在上一章中,我们已经完成了地图的设计,当然是相当简单的.在我们的游 ...
- MacOs桌面自动被打乱的原因
1 系统设置--Mission Control -- 自动根据最近使用情况排序的勾勾去掉