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

搭建环境(在桌面上即可完成测试)

先准备2个tomcat服务器

解压tomcat压缩包

得到

把得到的文件夹复制一份然后该一下名字,区别不同的tomcat服务器

然后把端口改一下(默认是8080,现在tomcat1服务器端口改为8081,tomcat2服务器端口改为8082 在原有基础上+1 +2 )

创建一个web项目

里边就一张页面

然后把该项目进行部署(WAR包专门用于项目部署  这次部署到两个服务器上 )

next之后,选择打包到桌面

然后把该文件夹部署到tomcat的wabapps文件夹下

同样tomcat2也是这样

然后启动这两个服务器

这个时候刚才部署在tomcat1和tomcat2服务器中的war文件就会自动加压,形成项目目录

客户端访问同一个域名,然后nginx会自动把请求分流到不同服务器上,现在为了区别运行的是不同服务器上的项目,我们把tomcat2中刚才解压生成的项目中index.jsp页面

做一下修改

打开,修改为:

访问nginx反向代理服务器,该服务器把请求分流到tomcat1服务器或者tomcat2服务器 打印的内容就会不一样

接下来开始集群的搭建

下载nginx

解压缩

打开(单击nginx.exe即可启动nginx反向代理服务器 默认端口是80)

在浏览器中输入localhost即可默认访问该服务器

(这就表示服务器启动成功了)

下面进行集群配置

对此文件进行配置

这是自己配置的服务器列表,因为现在配置了2个tomcat服务器,所以配置了两个服务器列表,8081,8082就是这两个tomcat服务器的端口号(因为在上面设置了tomcat1以及tomcat2服务器的端口号分别为8081,8082)

下面的红色方框中的内容是自己添加的,就是把对应的tomcat服务器集群配置在nginx反向代理服务器中  蓝色圈中的 a对应服务器集群列表的名字

启动服务器(tomcat1  tomcat2  以及反向 代理服务器)

然后在浏览器中进行访问(jiqun这个名字是在tomcat服务器的wabapps中解压生成的那个目录的名字 其实就是部署在tomcat服务器中的项目名称  只不过这里通过反向代理服务器进行分流来达到访问tomcat服务器中的项目)

输入http://localhost/jiqun/

刷新

这就在访问地址不变的情况下,把请求分别分发给了不同的tomcat服务器进行了处理(在实际项目中,处理的应该是同一个项目,这里为了演示不同服务器处理请求的效果,所以该修改了项目的页面)。

但是有没有发现一个问题,这是一个客户端的一次回话,所以sessionid的值应该在刷新之后不能改变,确保这是同一个session,但是这里每次刷新之后,sessionid都改变了  说明session没有共享,不是同一个session

解决session共享问题:

使用第二种方法解决session共享

第一步:打开tomcat中的配置文件

修改

把该行的注释去掉,让该代码起作用(tomcat服务器集群列表中的所有服务器对应的配置文件都需要这样改,这里只有两个tomcat服务器,所以这需要该这两个服务器的配置文件)

同样对tomcat1也做以上修改

第二步:把tomcat服务器集群列表中的每一个项目中的web.xml都做如下修改

打开添加<distributable/>节点

如下图:

同样tomcat2也是如此

重新启动tomcat服务器

在浏览器中运行

刷新

以上就完成了项目的集群部署,访问同一个网址,通过反向代理服务器nginx,请求到不同的tomcat服务器(负载均衡),运行的是同一个项目,并且session达到共享

集群搭建成功之后,如果需要部署另外一个项目的话,只需要把该项目导出(WAR格式),然后复制到所有tomcat服务器的wabapps文件夹中,重启所有服务器(把反向代理服务器也做一下重启),然后是否需要做相应的修改(第一步已经修改完成,不用动了,第二步 如果在项目中已经添加了distributable属性的话就无需再修改了),最后通过反向代理服务器即可完成项目的访问

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

重启反向代理服务器

复制上面的路径,然后在cmd命令行进行重启操作

第一步:进入该路径

第二步:输入命令 回车

完成重启

nginx与tomcat搭建集群,负载均衡的更多相关文章

  1. Nginx部署tomcat/wildfly集群负载均衡

    1.调度器配置: docker run -p 80:80 --name nginx --restart=always  -v /root/nginx/www/:/usr/share/nginx/htm ...

  2. 图文解说:Nginx+tomcat配置集群负载均衡

    图文解说:Nginx+tomcat配置集群负载均衡 博客分类: appserver nginxTomcatUbuntuLinux网络应用  作者:niumd Blog:http://ari.iteye ...

  3. Apache+Tomcat +mod_proxy集群负载均衡及session

      序言: 在玩Apache+Tomcat +mod_jk集群负载均衡及session的时候发现,还有一种方式可以实现,就是网上各位大牛们说的mod_proxy反向代理. 实在弄的我的知识细胞洋洋.实 ...

  4. 转】Nginx+tomcat配置集群负载均衡

    原博文出自于:http://blog.csdn.net/bruce_6/article/details/38228299         感谢! 相信很多人都听过nginx,这个小巧的东西慢慢地在吞食 ...

  5. .net core 跨平台开发 微服务架构 基于Nginx反向代理 服务集群负载均衡

    1.概述 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客 ...

  6. 【Linux运维-集群技术进阶】Nginx+Keepalived+Tomcat搭建高可用/负载均衡/动静分离的Webserver集群

    额.博客名字有点长.. . 前言 最终到这篇文章了,心情是有点激动的. 由于这篇文章会集中曾经博客讲到的全部Nginx功能点.包含主要的负载均衡,还有动静分离技术再加上这篇文章的重点.通过Keepal ...

  7. windows+nginx+tomcat实现集群负载均衡(生产环境必读)

    概念理解(原文链接) 集群:多个tomcat服务器运行同一个web服务就能称之为集群 负载均衡:apache按照一定方式将不同的客户端访问分配到不同的tomcat服务器 简单负载均衡实现: 网上参考了 ...

  8. Nginx+tomcat配置集群负载均衡

    开发的应用采用F5负载均衡交换机,F5将请求转发给5台hp unix服务器,每台服务器有多个webserver实例,对外提供web服务和socket等接口服务.之初,曾有个小小的疑问为何不采用开源的a ...

  9. 【nginx+tomcat集群】Nginx1.12.2+Tomcat7集群+负载均衡+Session共享

    今天想着将项目优化一下,就想的实现集群分布,在本机测试:利用nginx+tomcat实现 通过上一篇博客(http://www.cnblogs.com/qlqwjy/p/8535235.html),N ...

随机推荐

  1. Linux控制台版本号2048

    在Github上看到一个荷兰人写的linux控制台版的2048,用的C语言.感觉非常有意思. 原网址在这里. 读了一下他的源代码,感觉写的不错.就厚着脸皮加了一些中文凝视,源代码例如以下: /* == ...

  2. YII用户注冊和用户登录(三)之模型中规则制定和分析

    3 模型中规则制定和分析 YII模型主要分为两类,一个数据模型,处理和数据库相关的增删改查.继承CActiveRecord.还有一个是表单模型,继承CFormModel.不与数据库进行交互.操作与数据 ...

  3. [NOIP 2017] 奶酪

    [题目链接] http://uoj.ac/problem/332 [算法] 直接搜索即可 注意使用long long [代码] #include<bits/stdc++.h> using ...

  4. 【转】不要使用SBJSON(json-framework)

    原文网址:http://blog.devtang.com/2012/05/05/do-not-use-sbjson/ 不知道为什么,在iOS开发中,有很多人使用 SBJSON (又被称作json-fr ...

  5. php获取uniqid

    md5(uniqid(microtime(true),true))

  6. php 微信支付 回调通知不停的坑

    微信支付已完工,最后有点小问题就是微信的回调会重复9次 第一步: $return = "success"; echo $return; 不管用 第二步: $return = &qu ...

  7. 文档控件NTKO OFFICE 详细使用说明之预览PDF文件(禁止打印、下载、另存为、防抓包下载)

    1.在线预览PDF文件(禁止打印.下载.复制.另存为) (1) 运行环境 ① 浏览器:支持IE7-IE11(平台版本还支持Chrome和Firefox) ② IE工具栏-Internet 选项:将ww ...

  8. ACM___数学___九的余数

    九的余数 时间限制:3000 ms  |            内存限制:65535 KB 难度:3   描述  现在给你一个自然数n,它的位数小于等于一百万,现在你要做的就是求出这个数整除九之后的余 ...

  9. SqlServer与MySql 系统表查询自建表数据

    SqlServer: SELECT * FROM sys.sysobjects WHERE type='U' ORDER BY name SELECT * FROM sys.syscolumns WH ...

  10. 数据的图表统计highcharts

    数据统计常用的图表一般是饼状图.柱状图.线状图,HighCharts可以很好的实现. HighCharts highcharts是基于jquery的一个功能强大的插件,使用时先导入jquery.js ...