0
点赞
收藏
分享

微信扫一扫

nginx01_nginx的原理和简介、代理是一种思想、是一种实现集群的方式、代理[解决高并发]:正向代理、反向代理的理解、项目打包、==Nginx 就好像一个领导,它来命令你这个请求由哪台服务器处理


系列文章目录

文章目录

  • 系列文章目录
  • 前言
  • 1、nginx是什么?
  • 2.代理和反向代理、透明代理
  • 正向代理(Forward Proxy)
  • 1、访问本无法访问的服务器B,如下图
  • 2、加速访问服务器B
  • 3、Cache作用
  • 4、客户端访问授权
  • 5、隐藏访问者的行踪
  • 反向代理(reverse proxy)
  • 1、保护和隐藏原始资源服务器
  • 2、负载均衡
  • 透明代理
  • 3.window配置nginx+tomcat集群
  • 实操:一个电脑上安装多个Tomcat
  • 3.1在一台电脑上安装两个tomcat
  • 打包——打包成war包
  • 怎么让代理去决定访问哪一台服务器或者访问哪个地址
  • 怎么让同一个服务器的sessionID一样

前言

Nginx 就好像一个领导,它来命令你这个请求由哪台服务器处理

nginx01_nginx的原理和简介、代理是一种思想、是一种实现集群的方式、代理[解决高并发]:正向代理、反向代理的理解、项目打包、==Nginx 就好像一个领导,它来命令你这个请求由哪台服务器处理_nginx


nginx01_nginx的原理和简介、代理是一种思想、是一种实现集群的方式、代理[解决高并发]:正向代理、反向代理的理解、项目打包、==Nginx 就好像一个领导,它来命令你这个请求由哪台服务器处理_代理服务器_02


nginx01_nginx的原理和简介、代理是一种思想、是一种实现集群的方式、代理[解决高并发]:正向代理、反向代理的理解、项目打包、==Nginx 就好像一个领导,它来命令你这个请求由哪台服务器处理_nginx_03


nginx01_nginx的原理和简介、代理是一种思想、是一种实现集群的方式、代理[解决高并发]:正向代理、反向代理的理解、项目打包、==Nginx 就好像一个领导,它来命令你这个请求由哪台服务器处理_windows_04


nginx01_nginx的原理和简介、代理是一种思想、是一种实现集群的方式、代理[解决高并发]:正向代理、反向代理的理解、项目打包、==Nginx 就好像一个领导,它来命令你这个请求由哪台服务器处理_nginx_05


Tomcat最大支持的并发数是2000,那么问题来了,如果同时有4000的用户并发量,这个时候咋办

像淘宝、京东的双十一双十二,一秒钟的用户并发量远远不止两三千

所以这时候是怎么处理的呢,他们远远不止一台服务器

也就是说远远不止一个Tomcat

nginx01_nginx的原理和简介、代理是一种思想、是一种实现集群的方式、代理[解决高并发]:正向代理、反向代理的理解、项目打包、==Nginx 就好像一个领导,它来命令你这个请求由哪台服务器处理_windows_06


这里又涉及到一个分流问题,我们怎么就让客户端1-2000号就访问第一台服务器呢?

这个是分流的知识,我们先不管

我们考虑另外一个问题

如果有多台服务器,那么他们的ip地址是不是不一样,是的,ip地址不一样

我们这个时候就需要一个人来帮我们做事情

这个人就叫代理

代理他们记住我们上面那三台集群的电脑的ip地址

然后我们所有的客户端都去访问代理,而这个代理自动的给我们分配某个用户访问哪个服务器

所以代理其实是实现集群的一种方式,可以解决高并发的问题

实操

一个电脑上安装多个Tomcat(因为安装多个Linux比较复杂)

假如我们是安装两个Tomcat,我们需要注意这两个Tomcat不能端口号一致

我们看下面的 3.window配置nginx+tomcat集群

1、nginx是什么?

代理实际上是一种思想

集群,意思就是多台服务器

nginx01_nginx的原理和简介、代理是一种思想、是一种实现集群的方式、代理[解决高并发]:正向代理、反向代理的理解、项目打包、==Nginx 就好像一个领导,它来命令你这个请求由哪台服务器处理_windows_07

2.代理和反向代理、透明代理

正向代理(Forward Proxy)

1、访问本无法访问的服务器B,如下图

nginx01_nginx的原理和简介、代理是一种思想、是一种实现集群的方式、代理[解决高并发]:正向代理、反向代理的理解、项目打包、==Nginx 就好像一个领导,它来命令你这个请求由哪台服务器处理_代理服务器_08


nginx01_nginx的原理和简介、代理是一种思想、是一种实现集群的方式、代理[解决高并发]:正向代理、反向代理的理解、项目打包、==Nginx 就好像一个领导,它来命令你这个请求由哪台服务器处理_nginx_09

2、加速访问服务器B

这种说法目前不像以前那么流行了,主要是带宽流量的飞速发展。早期的正向代理中,很多人使用正向代理就是提速。还是如图1.2 假设用户A到服务器B,经过R1路由器和R2路由器,而R1到R2路由器的链路是一个低带宽链路。而用户A到代理服务器Z,从代理服务器Z到服务器B都是高带宽链路。那么很显然就可以加速访问服务器B了。

3、Cache作用

Cache(缓存)技术和代理服务技术是紧密联系的(不光是正向代理,反向代理也使用了Cache(缓存)技术。还如上图所示,如果在用户A访问服务器B某数据J之前,已经有人通过代理服务器Z访问过服务器B上得数据J,那么代理服务器Z会把数据J保存一段时间,如果有人正好取该数据J,那么代理服务器Z不再访问服务器B,而把缓存的数据J直接发给用户A。这一技术在Cache中术语就叫Cache命中。如果有更多的像用户A的用户来访问代理服务器Z,那么这些用户都可以直接从代理服务器Z中取得数据J,而不用千里迢迢的去服务器B下载数据了。

4、客户端访问授权

这方面的内容现今使用的还是比较多的,例如一些公司采用ISA SERVER做为正向代理服务器来授权用户是否有权限访问互联网,挼下图1.3

nginx01_nginx的原理和简介、代理是一种思想、是一种实现集群的方式、代理[解决高并发]:正向代理、反向代理的理解、项目打包、==Nginx 就好像一个领导,它来命令你这个请求由哪台服务器处理_windows_10

5、隐藏访问者的行踪

如下图1.4 我们可以看出服务器B并不知道访问自己的实际是用户A,因为代理服务器Z代替用户A去直接与服务器B进行交互。如果代理服务器Z被用户A完全控制(或不完全控制),会惯以“肉鸡”术语称呼

nginx01_nginx的原理和简介、代理是一种思想、是一种实现集群的方式、代理[解决高并发]:正向代理、反向代理的理解、项目打包、==Nginx 就好像一个领导,它来命令你这个请求由哪台服务器处理_windows_11

反向代理(reverse proxy)

1、保护和隐藏原始资源服务器

nginx01_nginx的原理和简介、代理是一种思想、是一种实现集群的方式、代理[解决高并发]:正向代理、反向代理的理解、项目打包、==Nginx 就好像一个领导,它来命令你这个请求由哪台服务器处理_nginx_12

反向代理正好与正向代理相反,对于客户端而言代理服务器就像是原始服务器,并且客户端不需要进行任何特别的设置。客户端向反向代理的命名空间(name-space)中的内容发送普通请求,接着反向代理将判断向何处(原始服务器)转交请求,并将获得的内容返回给客户端。 使用反向代理服务器的作用如下:

2、负载均衡

nginx01_nginx的原理和简介、代理是一种思想、是一种实现集群的方式、代理[解决高并发]:正向代理、反向代理的理解、项目打包、==Nginx 就好像一个领导,它来命令你这个请求由哪台服务器处理_nginx_13

透明代理

如果把正向代理、反向代理和透明代理按照人类血缘关系来划分的话。那么正向代理和透明代理是很明显堂亲关系,而正向代理和反向代理就是表亲关系了 。
透明代理的意思是客户端根本不需要知道有代理服务器的存在,它改编你的request fields(报文),并会传送真实IP。注意,加密的透明代理则是属于匿名代理,意思是不用设置使用代理了。 透明代理实践的例子就是时下很多公司使用的行为管理软件。如下图3.1

nginx01_nginx的原理和简介、代理是一种思想、是一种实现集群的方式、代理[解决高并发]:正向代理、反向代理的理解、项目打包、==Nginx 就好像一个领导,它来命令你这个请求由哪台服务器处理_nginx_14

3.window配置nginx+tomcat集群

实操:一个电脑上安装多个Tomcat

一个电脑上安装多个Tomcat(因为安装多个Linux比较复杂)
假如我们是安装两个Tomcat,我们需要注意这两个Tomcat不能端口号一致
我们看下面的

3.1在一台电脑上安装两个tomcat

nginx01_nginx的原理和简介、代理是一种思想、是一种实现集群的方式、代理[解决高并发]:正向代理、反向代理的理解、项目打包、==Nginx 就好像一个领导,它来命令你这个请求由哪台服务器处理_代理服务器_15


nginx01_nginx的原理和简介、代理是一种思想、是一种实现集群的方式、代理[解决高并发]:正向代理、反向代理的理解、项目打包、==Nginx 就好像一个领导,它来命令你这个请求由哪台服务器处理_nginx_16


nginx01_nginx的原理和简介、代理是一种思想、是一种实现集群的方式、代理[解决高并发]:正向代理、反向代理的理解、项目打包、==Nginx 就好像一个领导,它来命令你这个请求由哪台服务器处理_服务器_17


当然实际上是可以在eclipse或者idea里面改端口号的,但是集群的时候一般直接在配置文件里面改,这样比较快

需要注意的是,这个配置文件下面一共是有三个端口的

nginx01_nginx的原理和简介、代理是一种思想、是一种实现集群的方式、代理[解决高并发]:正向代理、反向代理的理解、项目打包、==Nginx 就好像一个领导,它来命令你这个请求由哪台服务器处理_服务器_18


原端口号分别是 8005、8080、8009

我们需要把这三个端口都改一下

最简单的办法是 把这三个端口号都加1,就行了,一般来说,没有啥问题

修改完成之后,我们来创建一个web项目

我们这个web项目也很简单,就让它显示一个session就行了

nginx01_nginx的原理和简介、代理是一种思想、是一种实现集群的方式、代理[解决高并发]:正向代理、反向代理的理解、项目打包、==Nginx 就好像一个领导,它来命令你这个请求由哪台服务器处理_服务器_19


nginx01_nginx的原理和简介、代理是一种思想、是一种实现集群的方式、代理[解决高并发]:正向代理、反向代理的理解、项目打包、==Nginx 就好像一个领导,它来命令你这个请求由哪台服务器处理_服务器_20


nginx01_nginx的原理和简介、代理是一种思想、是一种实现集群的方式、代理[解决高并发]:正向代理、反向代理的理解、项目打包、==Nginx 就好像一个领导,它来命令你这个请求由哪台服务器处理_windows_21


Tomcat最好选择对应的版本,这样比较不容易出现报错,也符合逻辑

nginx01_nginx的原理和简介、代理是一种思想、是一种实现集群的方式、代理[解决高并发]:正向代理、反向代理的理解、项目打包、==Nginx 就好像一个领导,它来命令你这个请求由哪台服务器处理_nginx_22

nginx01_nginx的原理和简介、代理是一种思想、是一种实现集群的方式、代理[解决高并发]:正向代理、反向代理的理解、项目打包、==Nginx 就好像一个领导,它来命令你这个请求由哪台服务器处理_服务器_23


nginx01_nginx的原理和简介、代理是一种思想、是一种实现集群的方式、代理[解决高并发]:正向代理、反向代理的理解、项目打包、==Nginx 就好像一个领导,它来命令你这个请求由哪台服务器处理_windows_24


替换一次字符,否则不能输入中文,比较麻烦。容易乱码等一系列问题

nginx01_nginx的原理和简介、代理是一种思想、是一种实现集群的方式、代理[解决高并发]:正向代理、反向代理的理解、项目打包、==Nginx 就好像一个领导,它来命令你这个请求由哪台服务器处理_windows_25


nginx01_nginx的原理和简介、代理是一种思想、是一种实现集群的方式、代理[解决高并发]:正向代理、反向代理的理解、项目打包、==Nginx 就好像一个领导,它来命令你这个请求由哪台服务器处理_nginx_26


浏览器跟服务器进行访问的时候会创建一个session

为了以后方便,我们可以直接把这个项目改成Utf-8的,这样以后新建jsp什么的默认就是UTF-8的了

nginx01_nginx的原理和简介、代理是一种思想、是一种实现集群的方式、代理[解决高并发]:正向代理、反向代理的理解、项目打包、==Nginx 就好像一个领导,它来命令你这个请求由哪台服务器处理_windows_27

nginx01_nginx的原理和简介、代理是一种思想、是一种实现集群的方式、代理[解决高并发]:正向代理、反向代理的理解、项目打包、==Nginx 就好像一个领导,它来命令你这个请求由哪台服务器处理_nginx_28


如果这样设置没有用,我测试了,设置完之后,新基jsp页面默认还是ISO-8859-1字符,而不是UTF-8 真的没用,那么我们就点击项目来设置吧,不设置全局了

nginx01_nginx的原理和简介、代理是一种思想、是一种实现集群的方式、代理[解决高并发]:正向代理、反向代理的理解、项目打包、==Nginx 就好像一个领导,它来命令你这个请求由哪台服务器处理_nginx_29


nginx01_nginx的原理和简介、代理是一种思想、是一种实现集群的方式、代理[解决高并发]:正向代理、反向代理的理解、项目打包、==Nginx 就好像一个领导,它来命令你这个请求由哪台服务器处理_windows_30


nginx01_nginx的原理和简介、代理是一种思想、是一种实现集群的方式、代理[解决高并发]:正向代理、反向代理的理解、项目打包、==Nginx 就好像一个领导,它来命令你这个请求由哪台服务器处理_windows_31


如果没有用那就自己改一下吧

下面看看效果

nginx01_nginx的原理和简介、代理是一种思想、是一种实现集群的方式、代理[解决高并发]:正向代理、反向代理的理解、项目打包、==Nginx 就好像一个领导,它来命令你这个请求由哪台服务器处理_服务器_32


然后直接打包

打包——打包成war包

nginx01_nginx的原理和简介、代理是一种思想、是一种实现集群的方式、代理[解决高并发]:正向代理、反向代理的理解、项目打包、==Nginx 就好像一个领导,它来命令你这个请求由哪台服务器处理_代理服务器_33


nginx01_nginx的原理和简介、代理是一种思想、是一种实现集群的方式、代理[解决高并发]:正向代理、反向代理的理解、项目打包、==Nginx 就好像一个领导,它来命令你这个请求由哪台服务器处理_服务器_34


nginx01_nginx的原理和简介、代理是一种思想、是一种实现集群的方式、代理[解决高并发]:正向代理、反向代理的理解、项目打包、==Nginx 就好像一个领导,它来命令你这个请求由哪台服务器处理_服务器_35


war包导出来之后我们继续做什么呢,我们把它丢到集群里面去分别放到Tomcat的这个目录

nginx01_nginx的原理和简介、代理是一种思想、是一种实现集群的方式、代理[解决高并发]:正向代理、反向代理的理解、项目打包、==Nginx 就好像一个领导,它来命令你这个请求由哪台服务器处理_windows_36

nginx01_nginx的原理和简介、代理是一种思想、是一种实现集群的方式、代理[解决高并发]:正向代理、反向代理的理解、项目打包、==Nginx 就好像一个领导,它来命令你这个请求由哪台服务器处理_nginx_37

然后分别启动8080和8081的Tomcat

nginx01_nginx的原理和简介、代理是一种思想、是一种实现集群的方式、代理[解决高并发]:正向代理、反向代理的理解、项目打包、==Nginx 就好像一个领导,它来命令你这个请求由哪台服务器处理_服务器_38

nginx01_nginx的原理和简介、代理是一种思想、是一种实现集群的方式、代理[解决高并发]:正向代理、反向代理的理解、项目打包、==Nginx 就好像一个领导,它来命令你这个请求由哪台服务器处理_windows_39


然后我们就会发现,两个Tomcat都能够启动同一个项目,只是他们的端口不一样,因为端口一样是不能在同一台电脑运行的

nginx01_nginx的原理和简介、代理是一种思想、是一种实现集群的方式、代理[解决高并发]:正向代理、反向代理的理解、项目打包、==Nginx 就好像一个领导,它来命令你这个请求由哪台服务器处理_windows_40


改一下项目

nginx01_nginx的原理和简介、代理是一种思想、是一种实现集群的方式、代理[解决高并发]:正向代理、反向代理的理解、项目打包、==Nginx 就好像一个领导,它来命令你这个请求由哪台服务器处理_nginx_41


那么,问题来了

我们给别人用的时候肯定不能给两个地址给别人,因为他也不知道哪个并发多哪个并发少

所以这时候代理就显得非常重要了

那我们怎么做呢

怎么让代理去决定访问哪一台服务器或者访问哪个地址

怎么让代理去决定访问哪一台服务器或者访问哪个地址

所以我们看图,我们不应该直接去访问服务器,而是直接去访问代理,然后由代理去负责访问哪台服务器

nginx01_nginx的原理和简介、代理是一种思想、是一种实现集群的方式、代理[解决高并发]:正向代理、反向代理的理解、项目打包、==Nginx 就好像一个领导,它来命令你这个请求由哪台服务器处理_windows_42


安装的时候注意,有专门给windows用的和专门给Linux用的版本,不要搞错,这个很好理解我们安卓手机下载app的时候也有很多版本,有安卓版(.app)window版(.exe)还有苹果的ISO版本

nginx01_nginx的原理和简介、代理是一种思想、是一种实现集群的方式、代理[解决高并发]:正向代理、反向代理的理解、项目打包、==Nginx 就好像一个领导,它来命令你这个请求由哪台服务器处理_windows_43


所以nginx也是一样的,我们需要安装对应的版本

nginx01_nginx的原理和简介、代理是一种思想、是一种实现集群的方式、代理[解决高并发]:正向代理、反向代理的理解、项目打包、==Nginx 就好像一个领导,它来命令你这个请求由哪台服务器处理_代理服务器_44


安装之前,我们需要配置一下,为什么需要配置呢

这是因为我们需要让nginx知道它下面有哪些集群。这样它才能够去自动的选择一个Tomcat去给你启动程序

nginx01_nginx的原理和简介、代理是一种思想、是一种实现集群的方式、代理[解决高并发]:正向代理、反向代理的理解、项目打包、==Nginx 就好像一个领导,它来命令你这个请求由哪台服务器处理_windows_45


需要注意的是,我们这个nginx的端口号,默认是80,是否会有冲突

比如,我们的SVN的服务器默认端口也是80

那么解决办法是什么呢,很简单,要么就是卸载掉SVN的服务端,要么就是把SVN服务端的服务停掉

nginx01_nginx的原理和简介、代理是一种思想、是一种实现集群的方式、代理[解决高并发]:正向代理、反向代理的理解、项目打包、==Nginx 就好像一个领导,它来命令你这个请求由哪台服务器处理_nginx_46


nginx01_nginx的原理和简介、代理是一种思想、是一种实现集群的方式、代理[解决高并发]:正向代理、反向代理的理解、项目打包、==Nginx 就好像一个领导,它来命令你这个请求由哪台服务器处理_服务器_47


注意:端口被占用了是打不开的

默认端口号要是被占用了,可以改成81

参考文档:javascript:void(0)添加链接描述

nginx01_nginx的原理和简介、代理是一种思想、是一种实现集群的方式、代理[解决高并发]:正向代理、反向代理的理解、项目打包、==Nginx 就好像一个领导,它来命令你这个请求由哪台服务器处理_windows_48

nginx01_nginx的原理和简介、代理是一种思想、是一种实现集群的方式、代理[解决高并发]:正向代理、反向代理的理解、项目打包、==Nginx 就好像一个领导,它来命令你这个请求由哪台服务器处理_nginx_49


nginx01_nginx的原理和简介、代理是一种思想、是一种实现集群的方式、代理[解决高并发]:正向代理、反向代理的理解、项目打包、==Nginx 就好像一个领导,它来命令你这个请求由哪台服务器处理_windows_50

输入localhost 如果改了端口为81就输入 localhost:81

nginx01_nginx的原理和简介、代理是一种思想、是一种实现集群的方式、代理[解决高并发]:正向代理、反向代理的理解、项目打包、==Nginx 就好像一个领导,它来命令你这个请求由哪台服务器处理_windows_51


nginx01_nginx的原理和简介、代理是一种思想、是一种实现集群的方式、代理[解决高并发]:正向代理、反向代理的理解、项目打包、==Nginx 就好像一个领导,它来命令你这个请求由哪台服务器处理_服务器_52


出现这个,就说明我们的代理服务器部署成功了

下面我们就应该让代理服务器 nginx去知道,他下面有哪些服务器

nginx01_nginx的原理和简介、代理是一种思想、是一种实现集群的方式、代理[解决高并发]:正向代理、反向代理的理解、项目打包、==Nginx 就好像一个领导,它来命令你这个请求由哪台服务器处理_代理服务器_53


nginx01_nginx的原理和简介、代理是一种思想、是一种实现集群的方式、代理[解决高并发]:正向代理、反向代理的理解、项目打包、==Nginx 就好像一个领导,它来命令你这个请求由哪台服务器处理_windows_54


我们在server上加一段如下两段代码

upstream server_list{

server 127.0.0.1:8080;

server 127.0.0.1:8081;

}

nginx01_nginx的原理和简介、代理是一种思想、是一种实现集群的方式、代理[解决高并发]:正向代理、反向代理的理解、项目打包、==Nginx 就好像一个领导,它来命令你这个请求由哪台服务器处理_windows_55

proxy_pass http://server_list;

nginx01_nginx的原理和简介、代理是一种思想、是一种实现集群的方式、代理[解决高并发]:正向代理、反向代理的理解、项目打包、==Nginx 就好像一个领导,它来命令你这个请求由哪台服务器处理_nginx_56


注意如果这个页面启动不成功,可能是配置不对,再改一下配置试试

nginx01_nginx的原理和简介、代理是一种思想、是一种实现集群的方式、代理[解决高并发]:正向代理、反向代理的理解、项目打包、==Nginx 就好像一个领导,它来命令你这个请求由哪台服务器处理_代理服务器_57

有几个就配置几个网址

配置完成之后,需要重启代理服务器

在windows里面重启nginx很简单,先把之前的关了

nginx01_nginx的原理和简介、代理是一种思想、是一种实现集群的方式、代理[解决高并发]:正向代理、反向代理的理解、项目打包、==Nginx 就好像一个领导,它来命令你这个请求由哪台服务器处理_windows_58


正常来讲是两个,不是上面那样有4个,4个的原因可能是端口80没改的时候运行了一下81的时候又运行了一下

正常配置之后,再启动代理服务器,是进入到这个默认页面

nginx01_nginx的原理和简介、代理是一种思想、是一种实现集群的方式、代理[解决高并发]:正向代理、反向代理的理解、项目打包、==Nginx 就好像一个领导,它来命令你这个请求由哪台服务器处理_代理服务器_59


再瞄一眼,我实测成功的的配置文件

nginx01_nginx的原理和简介、代理是一种思想、是一种实现集群的方式、代理[解决高并发]:正向代理、反向代理的理解、项目打包、==Nginx 就好像一个领导,它来命令你这个请求由哪台服务器处理_代理服务器_57


然后就很简单,可以测试了

nginx01_nginx的原理和简介、代理是一种思想、是一种实现集群的方式、代理[解决高并发]:正向代理、反向代理的理解、项目打包、==Nginx 就好像一个领导,它来命令你这个请求由哪台服务器处理_windows_61


nginx01_nginx的原理和简介、代理是一种思想、是一种实现集群的方式、代理[解决高并发]:正向代理、反向代理的理解、项目打包、==Nginx 就好像一个领导,它来命令你这个请求由哪台服务器处理_代理服务器_62


代理自动决定帮我们访问哪个服务器

很简单

nginx会自动分流,它里面有一个分流机制

至于是什么分流机制,我们不用去深入的研究它

还有一个问题

如果是同一个浏览器,按道理他们的sessionID要一样才对

如果不一样就一定会有问题

我们就没有办法去判断用户是否登录了,每刷新一下次都需要用户重新登录,就会出现大bug

而我们现在,正是存在这个问题,两个服务器的sessionID不一样

nginx01_nginx的原理和简介、代理是一种思想、是一种实现集群的方式、代理[解决高并发]:正向代理、反向代理的理解、项目打包、==Nginx 就好像一个领导,它来命令你这个请求由哪台服务器处理_nginx_63


nginx01_nginx的原理和简介、代理是一种思想、是一种实现集群的方式、代理[解决高并发]:正向代理、反向代理的理解、项目打包、==Nginx 就好像一个领导,它来命令你这个请求由哪台服务器处理_nginx_64

怎么让同一个服务器的sessionID一样

1.一种解决办法:一个用户进来以后只在tomcat1上进行操作,另一个用户进行只在tomcat2上进行操作.

2.session的共享

一种使用tomcat广播机制完成session的共享(不推荐的方式)

一种使用redis服务器的方式完成session的共享(推荐的方式)

下面说一下,不推荐的方式,假如没有学习redis的时候,或者redis出了问题,情况紧急的时候可以当做备用的方式

tomcat广播机制完成session的共享

修改配置文件前,先把两个Tomcat停了再修改

nginx01_nginx的原理和简介、代理是一种思想、是一种实现集群的方式、代理[解决高并发]:正向代理、反向代理的理解、项目打包、==Nginx 就好像一个领导,它来命令你这个请求由哪台服务器处理_代理服务器_65


关掉之后

我们再来打开Tomcat的配置文件

nginx01_nginx的原理和简介、代理是一种思想、是一种实现集群的方式、代理[解决高并发]:正向代理、反向代理的理解、项目打包、==Nginx 就好像一个领导,它来命令你这个请求由哪台服务器处理_代理服务器_66


ctrl+f 查找 Cluster 我们发现默认集群是关闭的(被注释了)

nginx01_nginx的原理和简介、代理是一种思想、是一种实现集群的方式、代理[解决高并发]:正向代理、反向代理的理解、项目打包、==Nginx 就好像一个领导,它来命令你这个请求由哪台服务器处理_服务器_67


取消掉注释,然后关掉继续 在web-app里面也要加个配置:配置一个

nginx01_nginx的原理和简介、代理是一种思想、是一种实现集群的方式、代理[解决高并发]:正向代理、反向代理的理解、项目打包、==Nginx 就好像一个领导,它来命令你这个请求由哪台服务器处理_服务器_68


nginx01_nginx的原理和简介、代理是一种思想、是一种实现集群的方式、代理[解决高并发]:正向代理、反向代理的理解、项目打包、==Nginx 就好像一个领导,它来命令你这个请求由哪台服务器处理_代理服务器_69


另外一个Tomcat也是一样的配置

全部完成之后,重启Tomcat服务器即可实现

下面再看看完整的操作

nginx01_nginx的原理和简介、代理是一种思想、是一种实现集群的方式、代理[解决高并发]:正向代理、反向代理的理解、项目打包、==Nginx 就好像一个领导,它来命令你这个请求由哪台服务器处理_代理服务器_70


实测,确实可以实现同一个浏览器,sessionID可以保持一致!!!

nginx01_nginx的原理和简介、代理是一种思想、是一种实现集群的方式、代理[解决高并发]:正向代理、反向代理的理解、项目打包、==Nginx 就好像一个领导,它来命令你这个请求由哪台服务器处理_代理服务器_71

nginx01_nginx的原理和简介、代理是一种思想、是一种实现集群的方式、代理[解决高并发]:正向代理、反向代理的理解、项目打包、==Nginx 就好像一个领导,它来命令你这个请求由哪台服务器处理_windows_72


nginx01_nginx的原理和简介、代理是一种思想、是一种实现集群的方式、代理[解决高并发]:正向代理、反向代理的理解、项目打包、==Nginx 就好像一个领导,它来命令你这个请求由哪台服务器处理_nginx_73


举报

相关推荐

0 条评论