nginx学习之反向代理负载均衡

nginx是一款很强大的http和反向代理服务器。它的功能非常强大。

并不是一开始就需要负载均衡集群,当网络流量不断增长,单个处理单元无法满足负载请求时,网络应用流量将要出现瓶颈时,负载均衡才会起到作用。

负载均衡与反向代理区别:负载均衡是反向代理的其中一个功能。反向代理服务器还可以缓存静态资源。当用户有请求时,直接返回反向代理服务器上的资源给用户,如果反向代理服务器上没有资源就转发给后端负载均衡服务器。

反向代理一般配置:

http {
upstream fight {
        192.168.3.10:80 weight=1 max_fails=2 fail_timeout=10s;
        192.168.3.11:80 weight=1 max_fails=2 fail_timeout=10s;
##fight代表负载均衡事物名称,weight代表权值,max_fail代表请求失败次数,fail_timeout代表在经历max_fail错误请求后,超时时间后暂停服务。
        }
        
server {
        listen 80;
        server_name 192.168.3.9;
        root /var/www/html;
        location / {
        proxy_pass http://fight;
        proxy_set_header           Host $host; 
        proxy_set_header           X-Real-IP $remote_addr; 
        proxy_set_header           X-Forwarded-For $proxy_add_x_forwarded_for; 
        #host代表主机名,以上设置可以显示真实访问ip,以下是各种参数,可有可无
        client_max_body_size       10m; #允许客户端请求的最大单文件字节数
        client_body_buffer_size    128k; #缓冲区代理缓冲用户端请求的最大字节数
        proxy_connect_timeout      300; #nginx跟后端服务器连接超时时间(代理连接超时)
        proxy_send_timeout         300; #后端服务器数据回传时间(代理发送超时)
        proxy_read_timeout         300; #连接成功后,后端服务器响应时间(代理接收超时)
        proxy_buffer_size          4k; #设置代理服务器(nginx)保存用户头信息的缓冲区大小
        proxy_buffers              4 32k; #proxy_buffers缓冲区,网页平均在32k以下的话,这样设置
            }
      }
}

nginx还支持多组的负载均衡,可以配置多个upstream,来服务于不同的server。

nginx的upstream目前支持多种方式的分配,以下是常用几种。

<1>轮询(默认)

每个请求按照时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能够自动剔除。

<2>weight

指定轮询几率,wight和访问比率成正比,用于后端服务器性能不均的情况下。

<3>ip_hash

每个请求按照访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。

nginx反向代理不仅可以为后端多台服务器做负载均衡,还可为后端较慢的服务器提供缓存服务,还可启用高级url策略和管理技术,从而使处于不同web服务器系统的web界面同时处于同一url空间下。

时间: 2024-10-19 04:43:58

nginx学习之反向代理负载均衡的相关文章

编译安装nginx并实现反向代理负载均衡和缓存功能

一.编译安装nginx 1.下载 [[email protected] ~]# wget http://nginx.org/download/nginx-1.10.0.tar.gz 2.解压 [[email protected] ~]# tar xf nginx-1.10.0.tar.gz [[email protected] ~]# cd nginx-1.10.0 3.安装依赖组件 [[email protected] nginx-1.10.0]# yum install pcre-devel

nginx 虚拟主机 反向代理 负载均衡

nginx是一款免费.开源的http服务器,它是由俄罗斯程序设计师开发的,官方测试,nginx能支撑5万的并发量,主要功能有虚拟主机.反向代理和负载均衡等. nginx配置 # 全局块 ... # events块 events { ... } # http块 http { # http全局块 ... # 虚拟主机server块 server { # server全局块 ... # location块 location [PATTERN] { ... } location [PATTERN] {

简单实现Nginx的反向代理+负载均衡

一.引言 上次我们体验了Nginx反向代理的使用,配置是非常简单的,一句配置搞定.这章我们来讲讲在Nginx如何使用反向代理+负载均衡.负载均衡估计程序员都听说过,比如开发一个电商.web端项目什么后期优化需要做负载均衡,不然同时10w用户同时访问,程序就容易相对应的崩溃. 所谓负载均衡,是由多台服务器或服务共同完成一个功能点,从而达到负载均衡的效果.打个比方:用户请求发起一个请求,网站显示的图片量又比较大,如果说这个时候有N个用户同时访问,那么全部的工作量都放在了一台服务器上,指不定什么时候就

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

Hi, 今天我们将会学习如何使用 Weave 和 Docker 搭建 Nginx 的反向代理/负载均衡服务器.Weave 可以创建一个虚拟网络将 Docker 容器彼此连接在一起,支持跨主机部署及自动发现.它可以让我们更加专注于应用的开发,而不是基础架构.Weave 提供了一个如此棒的环境,仿佛它的所有容器都属于同个网络,不需要端口/映射/连接等的配置.容器中的应用提供的服务在 weave 网络中可以轻易地被外部世界访问,不论你的容器运行在哪里.在这个教程里我们将会使用 weave 快速并且简单

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:集群的概念 集群是一组相互独立的.通过高速网络互联的计算机,他们构成了一个组,并以单一系统的模式加以管理.一个客户与集群相互作用时,集群像是一个独立的服务器.集群配置是用于提高高可用和可伸缩性.和传统的高性能计算机技术相比,集群技术可以利用各档次的服务器作为节点,系统造价低,可以实现很高的运算速度,完成大运算量的计算,具有较高的响应能力,能够满足当今日益增长的信息服务的需求.而集群技术是一种通用的技术,其目的是为了解决单机运算能力不足.IO能力的不足,提高服务的可靠性.获得规模

反向代理负载均衡之nginx

一.集群 1.1 什么是集群 集群是一组相互独立的.通过高速网络互联的计算机,它们构成了一个组,并以单一系统的模式加以管理.一个客户与集群相互作用时,集群像是一个独立的服务器.集群配置是用于提高可用性和可缩放性. 和传统的高性能计算机技术相比,集群技术可以利用各档次的服务器作为节点,系统造价低,可以实现很高的运算速度,完成大运算量的计算,具有较高的响应能力,能够满足当今日益增长的信息服务的需求. 而集群技术是一种通用的技术,其目的是为了解决单机运算能力的不足.IO能力的不足.提高服务的可靠性.获

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

实验一:实现反向代理负载均衡且动静分离 1.环境准备: 机器名称 IP配置 服务角色 备注 nginx VIP:172.17.11.11 反向代理服务器 开启代理功能 设置监控,调度 rs01 RIP:172.17.22.22 后端服务器 stasic-srv 组 rs02 RIP:172.17.1.7 后端服务器 stasic-srv 组 rs01 RIP:172.17.77.77 后端服务器 defautl-srv 组 rs02 RIP:172.17.252.111 后端服务器 defaut

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

目录 实验一:实现反向代理负载均衡且动静分离 1.环境准备: 2.下载编译安装tengine 3.设置代理服务器的配置文件 4.启动tengine服务 5.开启后端的web服务 6.测试 实验二:nginx实现缓存功能 1.环境准备:同上实验,实验结构图如下: 2.设置代理服务器的配置文件 3.测试:访问 http://172.17.11.11/ 总项目流程图,详见http://www.cnblogs.com/along21/p/7435612.html 回到顶部 实验一:实现反向代理负载均衡且