nginx windows 环境模拟负载(简单)

背景:随着访问量的增加和并发的提高,服务器的压力会越来越大,此时需要部署多台服务器来分摊压力(分布式部署),

服务分摊开来,是数据前段分布服务,即在服务层之前的分布负载,此时需要一个工具将所有分布式服务器和访问进行条件负载连接;

nginx下载地址(windows环境模拟下载windows版本):

http://nginx.org/en/download.html

注:nginx下载后本地解压时,解压的文件夹不能带中文,需要解压到非中文文件夹,否早启动不了报错;

双击nginx.exe启动文件后,去任务管理器-->进程-->重寻找nginx进程,如果没找到,去查看nginx解压目录下的logs文件下的

error.log文件:

错误:failed (1113: No mapping for the Unicode character exists in the target multi-byte code page)  这个错误是因为解压在中文目录下了,改下解压目录名字为英文即可;

upstream 关键字后面的代理服务名字不要带特殊字符,否则服务无法访问(错误提示在tomcat控制台显示)

负载模型(简单):

         |------------------>tomcat1       |

         |------------------>tomcat2       |

nginx|------------------>tomcat3       | ------------------------->服务层------->数据层

         |------------------>tomcat4       |

         |------------------>tomcat......   |

上面是基本的模型,这个nginx负载需要简单的配置一下nginx,即在conf文件夹下编辑nginx.conf文件:

多个tomcat配置在upstream 下面

配置完毕,浏览器输入:localhost即可访问配置负载的两台tomcat服务器

注:nginx负载均衡有多种负载策略:

1:轮询

每个请求按时间顺序逐一分配到不同的应用服务器,如果应用服务器down掉,自动剔除,剩下的继续轮询

2:权重

通过配置权重,指定轮询几率,权重和访问比率成正比,用于应用服务器性能不均的情况。

3:ip_哈希算法

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

upstream localtomcat{
      server 192.168.1.104:40 down;
      server 192.168.1.104:50 weight=4;

      server 192.168.1.104:60;

      server 192.168.1.104:70 backup;
    }

1)down

    表示单前的server暂时不参与负载

2)Weight

    默认为1.weight越大,负载的权重就越大。

3)max_fails

    允许请求失败的次数默认为1.当超过最大次数时,返回proxy_next_upstream 模块定义的错误

4)fail_timeout

    max_fails 次失败后,暂停的时间。

5)Backup

    其它所有的非backup机器down或者忙的时候,请求backup机器。所以这台机器压力会最轻。

猜你喜欢

转载自blog.csdn.net/qq_32509167/article/details/85048138
今日推荐