码迷,mamicode.com
首页 > 其他好文 > 详细

nginx负载均衡

时间:2016-10-20 01:19:59      阅读:152      评论:0      收藏:0      [点我收藏+]

标签:nginx关于tomcat负载均衡

最近要用到一台nginx和两台tomcat做一个架构,其中nginx 的作用就是负载均衡,整理了一下步骤:

部署环境:三台centos

分别为:1、nginx    192.168.1.213

    2、tomcat1   192.168.1.233

    3、tomcat2   192.168.1.184  

前提条件,nginx、tomcat正常访问首页。网络互通

部署思路:客户端访问nginx负载均衡机(192.168.1.213)上,由1.213调度访问请求到后端的真实tomcat1服务器或者tomcat2服务器上。

nginx负载均衡机(192.168.1.213)上的nginx。conf设置如下:

修改/etc/nginx/nginx.conf

在http段下加入以下代码:

upstream LXL {     #####LXL为自定义负载均衡的名字,要记着下面用的到

        server 192.168.1.233:8080;    #这里本人是开放的8080端口        

        server 192.168.1.184:8080;


}

server {

        listen 8080;

        server_name 192.168.1.213;

        location / {    #对/所有做负载均衡,nginx采用完全转发

        proxy_pass http://LXL;  #这upstream的名称

        proxy_set_header Host $host;   #保留用户真实信息

        proxy_set_header X-Real-IP $remote_addr;

        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

}

}

ok!到这,关于nginx的负载均衡就算完毕,这只是简单地一种,你们想想,nginx的负载均衡作用是把压力分散到下面的服务器,到底怎么分散呢。nginx给了三种模式

1、轮询(这个为默认)

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

比如上面那个就是如此

2、指定的权重(加权轮询)

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

upstream LXL {     

        server 192.168.1.233:8080 weight=10 fail_timeout=20s;            

        server 192.168.1.184:8080 weight=10 fail_timeout=20s;

}

3、IP绑定ip_hash

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

upstream LXL { 

      ip_hash;     

        server 192.168.1.233:8080 fail_timeout=20s;            

        server 192.168.1.184:8080 fail_timeout=20s;

}

  4、fair(第三方)

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

upstream backserver { 

      server server1;

      server server2; 

      fair; 

}

OK!关于nginx的负载均衡就到这里吧,

希望对初学者有所帮助

本文出自 “12178027” 博客,请务必保留此出处http://12188027.blog.51cto.com/12178027/1863458

nginx负载均衡

标签:nginx关于tomcat负载均衡

原文地址:http://12188027.blog.51cto.com/12178027/1863458

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!