环境:

[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反向代理、负载均衡功能的更多相关文章

  1. 十.nginx反向代理负载均衡服务实践部署

    期中集群架构-第十章-nginx反向代理负载均衡章节章节====================================================================== 0 ...

  2. Nginx 反向代理 负载均衡 虚拟主机配置

    Nginx 反向代理 负载均衡 虚拟主机配置 通过本章你将学会利用Nginx配置多台虚拟主机,清楚代理服务器的作用,区分正向代理和反向代理的区别,搭建使用Nginx反向搭理和负载均衡,了解Nginx常 ...

  3. Nginx 反向代理 负载均衡 虚拟主机

    Nginx 反向代理 负载均衡 虚拟主机配置 通过本章你将学会利用Nginx配置多台虚拟主机,清楚代理服务器的作用,区分正向代理和反向代理的区别,搭建使用Nginx反向搭理和负载均衡,了解Nginx常 ...

  4. 【转】Nginx 反向代理 负载均衡 虚拟主机配置

    原文:http://www.cnblogs.com/itdragon/p/8059000.html Nginx 反向代理 负载均衡 虚拟主机配置 通过本章你将学会利用Nginx配置多台虚拟主机,清楚代 ...

  5. Centos7.4 Nginx反向代理+负载均衡配置

    Ningx是一款高性能的HTTP和反向代理服务器,配置起来也比较简单. 测试环境: 172.16.65.190 Nginx-反向代理 172.16.65.191 Ningx-Web 172.16.65 ...

  6. 项目实战2.2—nginx 反向代理负载均衡、动静分离和缓存的实现

    实验一:实现反向代理负载均衡且动静分离 1.环境准备: 机器名称 IP配置 服务角色 备注 nginx VIP:172.17.11.11 反向代理服务器 开启代理功能 设置监控,调度 rs01 RIP ...

  7. 项目实战2.1—nginx 反向代理负载均衡、动静分离和缓存的实现

    总项目流程图,详见 http://www.cnblogs.com/along21/p/8000812.html 实验一:实现反向代理负载均衡且动静分离 1.环境准备: 机器名称 IP配置 服务角色 备 ...

  8. 项目实战02:nginx 反向代理负载均衡、动静分离和缓存的实现

    目录 实验一:实现反向代理负载均衡且动静分离 1.环境准备: 2.下载编译安装tengine 3.设置代理服务器的配置文件 4.启动tengine服务 5.开启后端的web服务 6.测试 实验二:ng ...

  9. 如何使用Weave以及Docker搭建Nginx反向代理/负载均衡服务器

    Hi, 今天我们将会学习如何使用 Weave 和 Docker 搭建 Nginx 的反向代理/负载均衡服务器.Weave 可以创建一个虚拟网络将 Docker 容器彼此连接在一起,支持跨主机部署及自动 ...

  10. Centos 7.6配置nginx反向代理负载均衡集群

    一,实验介绍 利用三台centos7虚拟机搭建简单的nginx反向代理负载集群, 三台虚拟机地址及功能介绍 192.168.2.76    nginx负载均衡器 192.168.2.82    web ...

随机推荐

  1. 3人从小公寓创业,到世界最大引擎公司,Unity创始人谈14年...

    Unity创始人David Helgason出席了5月11 - 13日在上海举办的Unite 2017 Shanghai,并在大会期间接受了游戏陀螺的专访,动情地讲述了这14年来从3人在公寓创业,到成 ...

  2. 在libuv中使用openssl建立ssl连接

    在libuv中使用openssl建立ssl连接 @(blogs) 使用openssl进行加密通信时,通常是先建立socket连接,然后使用SSL_XXX系列函数在普通socket之上建立安全连接,然后 ...

  3. avascript的匿名函数

    一.什么是匿名函数? 在Javascript定义一个函数一般有如下三种方式: 函数关键字(function)语句: function fnMethodName(x){alert(x);} 函数字面量( ...

  4. P3596 [POI2015]MOD

    $ \color{#0066ff}{ 题目描述 }$ 给定一棵无根树,边权都是1,请去掉一条边并加上一条新边,定义直径为最远的两个点的距离,请输出所有可能的新树的直径的最小值和最大值 \(\color ...

  5. 手机端file限制只能选择图片、视频、音频,直接打开摄像头拍照或录像

    限制只能选择图片 <input type="file" accept="image/*"> 限制只能选择视频 <input type=&quo ...

  6. 对于自我管理 ObjectContextManager的测试

    书接上文, 把代码改为多线程, public class Threads {   public static void allStart() { for (int i = 0; i < 10; ...

  7. Freeman链码

    [简介] 链码(又称为freeman码)是用曲线起始点的坐标和边界点方向代码来描述曲线或边界的方法,常被用来在图像处理.计算机图形学.模式识别等领域中表示曲线和区域边界.它是一种边界的编码表示法,用边 ...

  8. flask 的上下文管理

    Flask的上下文对象 Flask有两种Context(上下文),分别是 RequestContext 请求上下文 Request 请求的对象,封装了Http请求(environ)的内容 Sessio ...

  9. Apache 配置 http 转 https

    <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{SERVER_PORT} !^443$ Rewr ...

  10. 洛谷 [TJOI2010]中位数

    题目链接 题解 比较水.. 常见套路,维护两个堆 Code #include<bits/stdc++.h> #define LL long long #define RG register ...