如何配置nginx作为负载均衡


本文摘自PHP中文网,作者(*-*)浩,侵删。

一、负载均衡的作用

1、转发功能 (推荐学习:nginx教程)

按照一定的算法【权重、轮询】,将客户端请求转发到不同应用服务器上,减轻单个服务器压力,提高系统并发量。

2、故障移除

通过心跳检测的方式,判断应用服务器当前是否可以正常工作,如果服务器期宕掉,自动将请求发送到其他应用服务器。

3、恢复添加

如检测到发生故障的应用服务器恢复工作,自动将其添加到处理用户请求队伍中。

nginx-8.jpg

二、Nginx实现负载均衡

同样使用两个tomcat模拟两台应用服务器,端口号分别为8080 和8081

1、Nginx的负载分发策略

Nginx 的 upstream目前支持的分配算法:

1)、轮询 ――1:1 轮流处理请求(默认)

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

2)、权重 ――you can you up

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

3)、ip_哈希算法

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

2、配置Nginx的负载均衡与分发策略

通过在upstream参数中添加的应用服务器IP后添加指定参数即可实现,如:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

upstream tomcatserver1 { 

    server 192.168.72.49:8080 weight=3; 

    server 192.168.72.49:8081; 

    }  

   

 server { 

        listen       80; 

        server_name  8080.max.com; 

        #charset koi8-r; 

        #access_log  logs/host.access.log  main; 

        location / { 

            proxy_pass   http://tomcatserver1; 

            index  index.html index.htm; 

        

     }

通过以上配置,便可以实现,在访问8080.max.com这个网站时,由于配置了proxy_pass地址,所有请求都会先通过nginx反向代理服务器,在服务器将请求转发给目的主机时,读取upstream为 tomcatsever1的地址,读取分发策略,配置tomcat1权重为3,所以nginx会将大部分请求发送给49服务器上的tomcat1,也就是8080端口;较少部分给tomcat2来实现有条件的负载均衡,当然这个条件就是服务器1、2的硬件指数处理请求能力。

以上就是如何配置nginx作为负载均衡的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

nginx为什么比apache快

如何实现nginx高可用

php为什么要用nginx做代理

linux配置nginx伪静态

nginx与php的两种通信方式是什么

nginx什么写的

nginx启动后可以用哪些命令控制?

nginx可以集群吗

nginx 对访问量的控制

nginx访问日志在哪里

更多相关阅读请进入《nginx》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...