Nginx反向代理做负载

Nginx的反向代理(可以理解为重定向):

在这里插入图片描述
Node02这个配置也可以转向外网如:京东
配置好后重新加载:[root@node01 sbin]# ./nginx -s reload
[root@node02 ~]# service httpd start
访问地址:www.taobao.com
在这里插入图片描述
在这里插入图片描述
当我们再次访问淘宝的时候就出现了跳转到百度的现象了。(注意此时URL发生改变了)
在这里插入图片描述
我们在工作中尽量不要出现url的跳转现象,这样对用户体验不好,接下来我们要重新配置。
只要将http改成https就可以做到代理效果,即url不发生变化,但是内容确实已经发生了代理
在这里插入图片描述
在这里插入图片描述
我们访问的是淘宝,url是www.taobao.com。但是内容确是百度的页面。


Nginx反向代理做负载均衡

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


那么,我们考虑一个问题,因为我们这里使用了轮循的方法去使用Tomcat服务器,所以假如你在node2节点中上传了一张照片,你刷新一下,就跳转到了node3节点的Tomcat服务器,你还能找到刚才的图片吗,明显是不行的,所以说,通常像这种上传照片这种事情,一般都是有专门上传照片的公共服务器,访问图片的时候就跳转到这个公共服务器的URI进行访问。

既然图片找不到,登录信息更不用说,这里我们着重解决一下登录场景中session共享的问题:

1、session共享

当用户第一次访问的时候进入一个tomcat,当用户第二次访问的时候又可能会进入到另一个tomcat,这个时候原来的session会失去作用。这样的话用户可能会每点击一个链接都要重新登录。这里要保持session一致性。(memcached基于缓存,属于非关系型数据库,用于存放session,现在一般被redis代替,这里数据量不大,就可以使用这个)
在这里插入图片描述

2、思路

1、安装memcached
-----(1)安装libevent
-----(2)安装memcached
-----(3)启动memcached
–	memcached -d -m 128m -p 11211 -l 192.168.43.71 -u root -P /tmp/
–	-d:后台启动服务
–	-m:缓存大小
–	-p:端口
–	-l:IP
–	-P:服务器启动后的系统进程ID,存储的文件
–	-u:服务器启动是以哪个用户名作为管理用户
如果源配置了也可以用  yum –y install memcached  进行安装

要与mamcached进行交互,Tomcat要把登录信息存放到mamcached里面,需要给Tomcat进行一个“小手术”

2、配置session共享如下:
3、拷贝jar到tomcat的lib下,jar包见附件
4、配置tomcat,每个tomcat里面的context.xml中加入

<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager" 
	memcachedNodes="n1:192.168.43.71:11211" 
    sticky="false" 
    lockingMode="auto"
    sessionBackupAsync="false"
	requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$"•    sessionBackupTimeout="1000" transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory" />

这里解释一下整体原理:每次用户登录Nginx,使用Tomcat的时候,会将信息暂时存在memcached中,刷新Tomcat以后,session信息会从memcached中访问,这样就达到了保存session的目的。

架构方案:

主机名memcachednginxtomcat
Node01
Node02
Node03
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值