5种nginx负载均衡配置方法分享_nginx

一、轮询(默认) 

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

二、weight

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

复制代码 代码如下:

upstream bakend { 
server 192.168.0.14 weight=10; 
server 192.168.0.15 weight=10; 
}

三、ip_hash

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

复制代码 代码如下:

upstream bakend { 
ip_hash; 
server 192.168.0.14:88; 
server 192.168.0.15:80; 

四、fair(第三方)

按后端服务器的响应时间来分配请求,响应时间短的优先分配。 

复制代码 代码如下:

upstream backend { 
server server1; 
server server2; 
fair; 
}
 

五、url_hash(第三方)  

按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存时比较有效。 
例:在upstream中加入hash语句,server语句中不能写入weight等其他的参数,hash_method是使用的hash算法 

复制代码 代码如下:

upstream backend { 
server squid1:3128; 
server squid2:3128; 
hash $request_uri; 
hash_method crc32; 
}
 
tips: 

复制代码 代码如下:

upstream bakend{#定义负载均衡设备的Ip及设备状态 
ip_hash; 
server 127.0.0.1:9090 down; 
server 127.0.0.1:8080 weight=2; 
server 127.0.0.1:6060; 
server 127.0.0.1:7070 backup; 

在需要使用负载均衡的server中增加 

复制代码 代码如下:

proxy_pass http://bakend/;
 

每个设备的状态设置为: 

1.down 表示单前的server暂时不参与负载 
2.weight 默认为1.weight越大,负载的权重就越大。 
3.max_fails :允许请求失败的次数默认为1.当超过最大次数时,返回proxy_next_upstream 模块定义的错误 
4.fail_timeout:max_fails次失败后,暂停的时间。 
5.backup: 其它所有的非backup机器down或者忙的时候,请求backup机器。所以这台机器压力会最轻。 
nginx支持同时设置多组的负载均衡,用来给不用的server来使用。 
client_body_in_file_only 设置为On 可以讲client post过来的数据记录到文件中用来做debug 
client_body_temp_path 设置记录文件的目录 可以设置最多3层目录 
location 对URL进行匹配.可以进行重定向或者进行新的代理 负载均衡

时间: 2024-09-20 01:02:48

5种nginx负载均衡配置方法分享_nginx的相关文章

linux下Nginx+Tomcat负载均衡配置方法_nginx

Nginx+tomcat是目前主流的java web架构,如何让nginx+tomcat同时工作呢,也可以说如何使用nginx来反向代理tomcat后端均衡呢?直接安装配置如下: 1.JAVA JDK安装: #下载相应的jdk软件包,然后解压安装,我这里包名称为:jdk-7u25-linux-x64.tar.gz tar -xzf jdk-7u25-linux-x64.tar.gz ;mkdir -p /usr/java/ ;mv jdk1.7.0_25/ /usr/java/ 下. #然后配置

Nginx负载均衡配置实例详解

负载均衡是我们大流量网站要做的一个东西,下面我来给大家介绍在Nginx服务器上进行负载均衡配置方法.   测试环境 测试域名  :www.threegroup.space A服务器IP :123.56.255.173 (主) B服务器IP :101.200.159.138 C服务器IP :123.56.255.53   部署思路A服务器做为主服务器,域名直接解析到A服务器(123.56.255.173)上,由A服务器负载均衡到B服务器(101.200.159.138)与C服务器(123.56.2

nginx负载均衡配置-windows

nginx负载均衡配置-windows 虽然说windows上的nginx在官方文档中提到"仅作为测试"之用,但对于小规模并发场景还是比apache有不小的优势.所以,本文也将其作为windows服务器上负载均衡的主要工具进行说明. 配置实例 #user nobody; #指定nginx进程数,通常与CPU数相一致.特别是在windows平台中,这一数值一般只能设置为1. worker_processes 1; #error_log logs/error.log; #error_log

nginx负载均衡配置,hash后面的参数

问题描述 nginx负载均衡配置,hash后面的参数 upstream redis { hash $hash_img_url; server 192.168.84.69:6379; server 192.168.84.69:6380; server 192.168.84.69:6381; keepalive 512; } 这个hash的变量只能是访问的url吗,可以自定义变量吗? 解决方案 nginx 负载均衡配置nginx 负载均衡的配置nginx 负载均衡配置 解决方案二: 因为i一般都是通

Nginx实现网站多机负载均衡配置方法

Nginx的高并发特性就不用多说了,单机静态并发能承受大压力测试,但并不代表在搭载后端的情况下依然保持高并发,因为后端动态处理才是并发瓶颈.nginx作者初衷是为邮件提供多机反向代理,而这特性也正好能用在其他网络服务上,因为这是nginx原生基础服务,比apache等其他服务器需提供外部插件的实现形式显得更快捷高效. 传统负载均衡的方法是在后端服务器前设置一台前端服务器负责总调度,这是最简单的方式,当前端搭载的是nginx负责单点均衡,后端服务可以是任意web服务,譬如apache,tomcat

nginx负载均衡配置集群方法小结

nginx负载均衡一, 1. 安装时不要安装在源代码同一个目录下,make时会报错的.  代码如下 复制代码 ./configure --prefix=/opt/nginx make && make install 2. 修改配置文件/opt/nginx/conf/nginx.conf 在server元素前增加:(假设两个tomcat的端口都是8080)  代码如下 复制代码 upstream www.111cn.net   { server   192.168.1.13:8080; se

Nginx负载均衡配置

将域名指向Nginx服务器 访问www.test.com会转发到192.168.1.22,192.168.1.23 user nobody nobody; worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; upstream www.te

nginx+rsync+inotify实现负载均衡配置方法_nginx

实验环境 前端nginx:ip 192.168.6.242,对后端的wordpress网站做反向代理实现复杂均衡 后端nginx:ip 192.168.6.36,192.168.6.205都部署wordpress,并使用相同的数据库 1.在后端的两个wordpress上配置rsync+inotify,两服务器都开启rsync服务,并且通过inotify分别向对方同步数据 下面配置192.168.6.205这台服务器 vim /etc/rsyncd.conf uid = nginx gid = n

在Nginx服务器上屏蔽IP的一些基本配置方法分享_nginx

采集和防止采集是一个经久不息的话题,一方面都想搞别人的东西,另一方面不想自己的东西被别人搞走. 本文介绍如何利用nginx屏蔽ip来实现防止采集,当然也可以通过iptable来实现. 1.查找要屏蔽的ip awk '{print $1}' nginx.access.log |sort |uniq -c|sort -n nginx.access.log 为日志文件, 会到如下结果,前面是ip的访问次数,后面是ip,很明显我们需要把访问次数多的ip并且不是蜘蛛的ip屏蔽掉,本例当中我们屏蔽掉 165