nginx负载均衡,

1.   正向代理的典型用途是为在防火墙内的局域网客户端提供访问Internet的途径。正向代理还可以使用缓冲特性减少网络使用率。反向代理的典型用途是将防火墙后面的服务器提供给Internet用户访问。反向代理还可以为后端的多台服务器提供负载平衡,或为后端较慢的服务器提供缓冲服务。另外,反向代理还可以启用高级URL策略和管理技术,从而使处于不同web服务器系统的web页面同时存在于同一个URL空间下。

2.upstream 支持的负载均衡算法

Nginx的负载均衡模块目前支持4种调度算法,下面进行分别介绍,其中后两项属于第三方调度算法。

  • 轮询(默认)。每个请求按时间顺序逐一分配到不同的后端服务器,如果后端某台服务器宕机,故障系统被自动剔除,使用户访问不受影响。Weight 指定轮询权值,Weight值越大,分配到的访问机率越高,主要用于后端每个服务器性能不均的情况下。
  • ip_hash。每个请求按访问IP的hash结果分配,这样来自同一个IP的访客固定访问一个后端服务器,有效解决了动态网页存在的session共享问题。
  • fair。这是比上面两个更加智能的负载均衡算法。此种算法可以依据页面大小和加载时间长短智能地进行负载均衡,也就是根据后端服务器的响应时间来分配请求,响应时间短的优先分配。Nginx本身是不支持fair的,如果需要使用这种调度算法,必须下载Nginx的upstream_fair模块。
  • url_hash。此方法按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,可以进一步提高后端缓存服务器的效率。Nginx本身是不支持url_hash的,如果需要使用这种调度算法,必须安装Nginx 的hash软件包。

3.upstream 支持的状态参数

在HTTP Upstream模块中,可以通过server指令指定后端服务器的IP地址和端口,同时还可以设定每个后端服务器在负载均衡调度中的状态。常用的状态有:

  • down,表示当前的server暂时不参与负载均衡。
  • backup,预留的备份机器。当其他所有的非backup机器出现故障或者忙的时候,才会请求backup机器,因此这台机器的压力最轻。
  • max_fails,允许请求失败的次数,默认为1。当超过最大次数时,返回proxy_next_upstream 模块定义的错误。
  • fail_timeout,在经历了max_fails次失败后,暂停服务的时间。max_fails可以和fail_timeout一起使用。

注,当负载调度算法为ip_hash时,后端服务器在负载均衡调度中的状态不能是weight和backup。


1

2

3

4

5

6

7

8

9

10

11

12

upstream test.net{

ip_hash;

server 192.168.10.13:80;

server 192.168.10.14:80  down;

server 192.168.10.15:8009  max_fails=3  fail_timeout=20s;

server 192.168.10.16:8080 backup;

}

server {

  location / {

    proxy_pass  http://test.net;

  }

}

nginx之页面缓存


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

[[email protected] ~]# vim /etc/nginx/nginx.conf

proxy_cache_path /data/nginx/cache/webserver levels=1:2 keys_zone=webserver:20m max_size=1g;

    server {

        listen       80;

        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

       #增加两头部

        add_header X-Via $server_addr;

        add_header X-Cache $upstream_cache_status;

        location / {

                proxy_pass      http://webservers;

                proxy_set_header  X-Real-IP  $remote_addr;

                proxy_cache webserver;

                proxy_cache_valid 200 10m;

        }

}

proxy_cache_path :指令指定缓存的路径和一些其他参数,缓存的数据存储在文件中.levels指定目录结构,可以使用任意的1位或2位数字作为目录结构,如 X, X:X,或X:X:X 例如: “2”, “2:2”, “1:1:2“,但是最多只能是三级目录。  当目前缓存的值超出max_size指定的值之后,超过其大小后最少使用数据(LRU替换算法)将被删除。所有活动的key和元数据存储在共享的内存池中,这个区域用keys_zone参数指定。one指的是共享池的名称,10m指的是共享池的大小。

proxy_cache :设置一个缓存区域的名称.

proxy_cache_valid :

为不同的应答设置不同的缓存时间,例如:


1

2

proxy_cache_valid  200 302  10m;

proxy_cache_valid  404      1m;

为应答代码为200和302的设置缓存时间为10分钟,404代码缓存1分钟。

时间: 2024-10-13 06:38:41

nginx负载均衡,的相关文章

nginx负载均衡+keepalive心跳检测

环境标准: 一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一 内核:2.6.32-642.el6.x86_64 系统:CentOS release 6.8 (Final) ip: web01:10.0.0.8 nginx 解析手机端 均做了nginx的负载均衡但是只均衡一台机器可以后续往里填 web02:10.0.0.200 nginx 解析电脑端 均做了nginx的负载均衡但是只均衡一台机器可以后续往里填 lb01

12.17 Nginx负载均衡;12.18 ssl原理;12.19 生产ssl密钥对;12.20 Nginx配置ssl

扩展: 针对请求的uri来代理 http://ask.apelearn.com/question/1049 根据访问的目录来区分后端web http://ask.apelearn.com/question/920 12.17 Nginx负载均衡 1. 安装dig命令: [[email protected] ~]# yum install -y bind-utils 2. 用dig获取qq.com的ip地址: [[email protected] ~]# dig qq.com 3. 创建ld.co

Linux CentOS搭建JDK+Mysql+Tomcat+Nginx负载均衡环境      

本文使用了Tomcat+Nginx环境,主要起到负载均衡的作用,使用Tomcat处理jsp后台程序,使用Nginx处理静态页面. 准备工作(下载软件版本,请自行百度下载) 安装包放至:/usr/local/src 安装地址:/usr/local/软件名 1.apache-tomcat-6.0.48 2.mysql-5.5.54 3.nginx-1.6.3 4.cmake-2.8.8 5.pcre-8.40 6.jdk-8u11-linux-x64 7.openssl-1.1.0d(https使用

nginx负载均衡

nginx负载均衡 Nginx负载均衡的理解 Nginx是一个轻量级的.高性能的WebServer,他主要可以干下面两件事: 作为http服务器(和apache的效果一样) 作为反向代理服务器实现负载均衡 现在Nginx到处都可以见到,经常会看到宕机后的网页会显示nginx的字样,这也说明Nginx由于高性能.使用配置简.开源单这些特点被越来越多的用户所接受,所使用. 其中第一种作为http服务器,结合php-fpm进程,对发来的请求进行处理,nginx本身并不会解析php,他只是作为一个服务器

lvs、haproxy、nginx 负载均衡的比较分析

lvs.haproxy.nginx 负载均衡的比较分析 对软件实现负载均衡的几个软件,小D详细看了一下,从性能和稳定上还是LVS最牛,基本达到了F5硬件设备的60%性能,其他几个10%都有点困难. 不过就因为LVS忒牛了,配置也最麻烦了,而且健康检测需要另外配置Ldirector,其他HAPROXY和NGINX自己就用,而且配置超级简单. 所以小D建议,如果网站访问量不是门户级别的用HAPROXY或者NGINX就OK了,到了门户级别在用LVS+Idirector吧 哈哈 lvs和nginx都可以

Nginx 负载均衡

原文地址:http://nginx.com/resources/admin-guide/load-balancer/ Nginx Load Balancing nginx 负载均衡 This section describes how to use NGINX and NGINX Plus as a load balancer. 本章将讨论如何使用Nginx和Nginx加做负载均衡器. In This Section 本章包括 Load balancing overview 负载均衡概览 Pro

day10 nfs服务,nginx负载均衡,定时任务

=====================nginx 负载均衡======================= 实现nginx负载均衡的效果,并运用nfs服务共享目录,使所有nginx服务拥有共同的http目录 nginx安装:http://www.cnblogs.com/alwaysInMe/p/6924859.html nfs安装:NFS 是Network File System的缩写,即网络文件系统.一种使用于分散式文件系统的协定. ===>  环境配置及软件安装 注:本次安装用的是cent

nginx 负载均衡策略

nginx 负载均衡策略 1. 轮询 轮询方式是nginx负载均衡的默认策略,根据每个server的权重值来轮流发送请求,例如: upstream backend {server backend1.example.com;server backend2.example.com;} 这种情况是每个server都使用相同的权重,默认值为1 可以手动设定权重,例如 upstream backend {server backend1.example.com weight=5;server backend

搭建Nginx负载均衡服务文档一

搭建负载均衡服务的实际需求: 1.把单台服务器无法承受的大规模并发访问或数据流量分担到多台节点设备上,分别进行处理,减少用户等待响应的时间,提升用户体验. 2.单个重负载的运算分担到多台节点设备上做并行处理,每个节点处理结束后,将结果汇总,返回给用户. 3.7*24小时的服务保证,任意一个或多个有限后面节点设备宕机,不能影响业务. 实现Nginx负载均衡需要两个组件: l  Ngx_http_proxy_module,用于把请求后抛给服务器节点或upstream服务器池: l  Ngx_http

nginx负载均衡和tomcat热部署简单了解

简单说下几个名词 nginx 它是一个反向代理,实际上就是一台负责转发的代理服务器,貌似充当了真正服务器的功能,但实际上并不是,代理服务器只是充当了转发的作用,并且从真正的服务器那里取得返回的数据,这个就是nginx的工作内容 tomcat 开源的web服务器 oracle 数据库 redis 缓存系统 nginx负载均衡简介 如图1展示,客户端发起请求,通过nginx代理后,根据权重将请求平均转发到服务器 热部署简介 一般我们只有1个tomcat的时候,如果需要代码包,就需要把tomcat关闭