nginx+tomcat进行负载均衡

1.方案:三台tomcat服务器,经过nginx反向代理到tomcat服务器上面来达到负载均衡的效果html

2.环境:腾讯云linux版本服务器+nginx+3个tomcat服务器linux

3.首先购买一台腾讯云服务器linux版(学生价格一个月十元左右)nginx

4.安装nginxweb

5.安装tomcat和jdk算法

6.由于咱们须要三台tomcat服务器,因此安装一台以后再复制两份windows

命令:cp -a  原tomcat名字   新tomcat名字浏览器

注意:cp 是复制意思   cp -a   是保留原文件属性的前提下复制文件 tomcat

这里咱们复制两台命名为tomcat2 、tomcat3服务器

 7.下面咱们更改tomcat端口,目前三个tomcat端口都是8080,咱们将tomcat二、tomcat3改成808一、8082session

更改端口在conf/server.xml中修改三个地方:以tomcat修改成8081为例(8082再也不赘述)

第一个:

第二个:

第三个:

 

8.如今咱们三个tomcat访问端口分别为8080、808一、8082,下面配置nginx负载均衡

nginx安装目录通常是usr/local/nginx ,因此修改配置文件usr/local/nginx/conf/nginx.conf

配置好以后将三个tomcat所有启动,启动方法和windows下启动方法同样,而后启动nginx(参考另外一篇nginx的文章),在浏览器中输入http://140.143.75.62访问

那这个时候有人问了,怎么知道负载均衡效果有没有起做用,ok这里咱们修改一下这个tomcat默认页面:

对tomcat2/webapps/ROOT/index.jsp进行一些修改,修改完访问效果以下:

而后刷新一下浏览器以下图:

而后再刷新一下:

这个时候看到了吧,三个tomcat服务器进行负载均衡,这是最简单的默认的负载均衡方法(轮询法),轮询就是从上到下一次访问个人三个tomcsat

负载均衡2(权重法):

 upstream server1{
       server 140.143.75.62:8080 
weight=1;
       server 140.143.75.62:8081 
weight=3;
       server 140.143.75.62:8082 
weight=5;
   }

权重法意思是访问一次8080,而后三次8081,而后五次8082

负载均衡3(IP  Hash):配置ip绑定,只要访问一次以后,固定某个ip访问

upstream server1{

       ip_hash;
       server 140.143.75.62:8080 ;
       server 140.143.75.62:8081 
;
       server 140.143.75.62:8082 
;
   }

可以解决session共享的问题

--------------------------------------------------------------------------------------------------------------------------

下面两种为第三方的,了解便可:

负载均衡4(fair配置):按上游服务器的响应时间来分配请求。响应时间短的优先分配

upstream server1{
       server 140.143.75.62:8080 ;
       server 140.143.75.62:8081 
;
       server 140.143.75.62:8082 
;

       fair;
   }

负载均衡5(url_hash配置):按照访问的url的hash结果来分配请求,使每个url定向到同一个上游服务器。注意:在upstream中加入hash语句。server语句中不能写入weight等其余的參数,hash_method是使用的hash算法。

upstream server1{
       server 140.143.75.62:8080 ;
       server 140.143.75.62:8081 
;
       server 140.143.75.62:8082 ;

       hash $request_uri;

       hash_method crc32;
   }

感兴趣的小伙伴能够扫码关注下公众号哦,公众号会分享高质量的技术文章哦

相关文章
相关标签/搜索