Nginx负载均衡配置实例
面对高并发的问题,企业往往会从两个方面来解决。其一,从硬件上面,提升硬件的配置,增加服务器的性能;另外,就是从软件上,将数据库和WEB服务器分离,使数据库和WEB服务器都能够充分发挥各自的性能,并且二者不相互影响。然而,这样还不够,一台WEB服务器可能无法承受太高的并发请求。那么负载均衡技术就应运而生,下面我们就来谈谈如何用Nginx进行负载均衡。
负载均衡的作用
1.转发
转发是负载均衡的核心功能,它能够根据一定的算法,将客户端请求转发到不同应用服务器,缓解每台服务器的压力,提高并发量。
2.移除故障
当其中一台服务器发生故障时,会被移出轮询队列,客户端请求将会发送到其他几台正常的服务器,不会影响客户端的访问。
3.恢复添加
当故障的服务器恢复时,会自动被加到轮询队列,继续处理客户端请求。

Nginx配置
轮询
如下是Nginx的基本配置,upstream配置要负载的节点。nodes可以自己取,要跟server中proxy_pass的nodes一致。
server_name可以是Nginx服务器的ip地址,也可以是域名,根据具体情况配置即可,listen为端口号。
upstream nodes {
server 192.168.1.11;
server 192.168.1.12;
}
server {
listen 80;
server_name 127.0.0.1;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
proxy_pass http://nodes;
index index.html index.htm;
}
}
使用以上配置,默认采用轮询的分发策略,即每个请求按时间顺序逐一分配到不同的应用服务器,如果应用服务器down掉,自动剔除,剩下的继续轮询。
权重
如果需要为每个请求节点配置不同的权重,可以在地址后面增加权重,配置如下
upstream nodes {
server 192.168.1.11 weight=4;
server 192.168.1.12;
}
通过配置权重,指定轮询几率,权重和访问比率成正比,用于应用服务器性能不均的情况。weight默认为1,weight越大,负载的权重就越大。
IP哈希算法
还有一种策略是IP哈希算法,请求按访问ip的hash结果分配,这样每个IP固定访问一个应用服务器,可以解决session共享的问题,配置如下
upstream nodes {
ip_hash;
server 192.168.1.11;
server 192.168.1.12;
}
其他
upstream中还有其他几个常用的配置项:
down: 表示当前的server不參与负载均衡
max_fails: 允许请求失败的次数默认为1.当超过最大次数时,返回proxy_next_upstream 模块定义的错误
fail_timeout: max_fails次失败后,暂停请求此台服务器的时间
backup: 其他全部的非backup机器down或者忙的时候,请求backup机器。所以这台机器压力会最轻
upstream nodes {
server 192.168.1.11 down;
server 192.168.1.12 backup;
server 192.168.1.13;
}
以上就是Nginx的一些基本配置,能够满足基本的使用,大家可以动手测试一下。
下载地址:https://nginx.org/en/download.html,下载后解压即可。配置文件为conf/nginx.conf,修改好配置文件后双击nginx.exe启动。
Nginx负载均衡配置实例的更多相关文章
- Nginx负载均衡配置实例详解
负载均衡是我们大流量网站要做的一个东西,下面我来给大家介绍在Nginx服务器上进行负载均衡配置方法,希望对有需要的同学有所帮助哦. 负载均衡 先来简单了解一下什么是负载均衡,单从字面上的意思来理解就可 ...
- Nginx负载均衡配置实例详解(转)
负载均衡是我们大流量网站要做的一个东西,下面我来给大家介绍在Nginx服务器上进行负载均衡配置方法,希望对有需要的同学有所帮助哦. 负载均衡 先来简单了解一下什么是负载均衡,单从字面上的意思来理解就可 ...
- [转载]Nginx负载均衡配置实例详解
负载均衡是我们大流量网站要做的一个东西,下面我来给大家介绍在Nginx服务器上进行负载均衡配置方法,希望对有需要的同学有所帮助哦. 负载均衡 先来简单了解一下什么是负载均衡,单从字面上的意思来理解就可 ...
- Nginx负载均衡配置实例(转)
1.轮询 轮询即Round Robin,根据Nginx配置文件中的顺序,依次把客户端的Web请求分发到不同的后端服务器.配置的例子如下: http{ upstream sampleapp { serv ...
- Nginx做NodeJS应用负载均衡配置实例
这篇文章主要介绍了Nginx做NodeJS应用负载均衡配置实例,本文直接给出配置实例,需要的朋友可以参考下. 负载均衡可以把用户的请求分摊到多个服务器上进行处理,从而实现了对海量用户的访问支持.负载均 ...
- nginx高性能WEB服务器系列之六--nginx负载均衡配置+健康检查
nginx系列友情链接:nginx高性能WEB服务器系列之一简介及安装https://www.cnblogs.com/maxtgood/p/9597596.htmlnginx高性能WEB服务器系列之二 ...
- Tomcat集群,Nginx集群,Tomcat+Nginx 负载均衡配置,Tomcat+Nginx集群
Tomcat集群,Nginx集群,Tomcat+Nginx 负载均衡配置,Tomcat+Nginx集群 >>>>>>>>>>>> ...
- Nginx负载均衡配置简单配置方法
http://www.jb51.net/article/121235.htm Nginx作为负载均衡服务器,用户请求先到达nginx,再由nginx根据负载配置将请求转发至不同的Web服务器.下面通过 ...
- Mall电商项目总结(二)——nginx负载均衡配置和策略
1. nginx配置文件 用户在浏览器上输入,http://www.xwld.site/ 实际上是在访问服务器80端口,nginx 监听80端口,将用户的请求转发到8080和9080端口 . upst ...
随机推荐
- PHP文件基础操作
文件的基本操作:(更多) fopen():文件打开 $file = fopen("file.txt","r+"); fopen()函数的参数是目标文件的路径和文 ...
- B-Quadratic equation_2019牛客暑期多校训练营(第九场)
题意 解下列方程 \((x+y) \equiv b \ mod \ p\) \((x\ *\ y) \equiv c \ mod \ p\) 题解 \(y = b-x\) 带入二式 \(x * (b- ...
- 2019杭电多校 hdu6662 Acesrc and Travel (树形dp
http://acm.hdu.edu.cn/showproblem.php?pid=6662 题意:有两个人在树上博弈,每个点节点有两个分数a[i]和b[i],先手先选择一个点,后手在先手选的点的相邻 ...
- 移位密码(加密+解密)C++实现
移位密码 加密C=Ek(m)=m+k mod 26 解密m=Dk(m)=c-k mod 26 密钥空间|k|=26=|c|=|m| #include<iostream> #include& ...
- 矩阵快速幂 hud 1575 Tr A 模板 *
Tr A Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submis ...
- (六十五)c#Winform自定义控件-图标字体
前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. GitHub:https://github.com/kwwwvagaa/NetWinformControl 码云:ht ...
- 2019年全国新课标I卷文理科数学LaTeX排版试题与解析
整体分析,没有偏怪难题之分,中等题偏多,题目较往年有题型改动变化,但难度还称不上很难.具体内容贴上链接! https://mp.weixin.qq.com/s/WKXhCKI_-z3UT-zUwI23 ...
- 基于 HTML5 的 PID-进料系统可视化界面
前言 随着工业物联网和互联网技术的普及和发展,人工填料的方式已经逐渐被机械设备取代.工业厂商减小误操作.提升设备安全以及追求高效率等制造特点对设备的要求愈加高标准.严要求.同时机械生产以后还需遵从整个 ...
- 4.1、顺序栈的实现(java实现)
1.实现源码 public class SeqStack { private final int MaxSize = 8; private int top; //栈顶 private Object s ...
- 【学习笔记】第五章 python3核心技术与实践--字典和集合
[第四章]思考题的答案,仅供参考: []比list()更快,因为调用了list函数有一定的时间,而[]却没有. 前面我们学习了 Python 中的列表和元组,了解了他们的基本操作和性能比较.这节章,我 ...