Linux学习7

session共享

用于在用户切换系统时保持用户状态的连续性,例如已加入购物车的物品不会消失

部署tomcat

一个为 Java Web 应用程序量身打造的“引擎”或“容器”,负责接收用户的网页请求,并调用相应的 Java 程序来处理这些请求,最终生成动态的网页内容返回给用户

sever2与sever3都需要部署

安装java运行环境和开发工具

官网下载core的tar.gz

或者直接从阿里云镜像下载

将其解压缩到指定目录

创建软链接,进入目录

启动服务,查看端口验证

浏览器访问sever2ip的8080端口

nginx整合tomcat

回到sever1,修改nginx的配置文件

将后端改为tomcat处理

,当nginx识别到jsp请求,将jsp请求发送给tomcat处理

重启

在sever2与sever3的/usr/local/tomcat/webapps/ROOT下拷贝test.jsp

浏览器访问主serverip/test.jsp,转到了sever2

停止sever2上的服务

nginx对后端的tomcat具有健康检测,自动切到sever3上的tomcat服务,但sever2上的session丢失

tomcat整合memcache

tomcat服务通过msm模块把session信息交叉存储到memcached上,解决了当用户请求被nginx分发到不同 tomcat 服务器时,因 session 不一致导致的“登录态丢失”、“购物车清空”等问题

sever2与sever3同步进行

下载memcached服务

设置开机自启,查看端口

下载msm,目的是让所有tomcat能使用共同的memcache缓存

将下载的文件全部复制到指定目录,使其启动时能被自动加载

同步给sever3

进入tomcat的配置目录

修改文件

指定使用msm管理session,配置两个节点分别存储session,sever3上n1改为n2

关闭,重新启动

查看日志,sever3上n1与n2的位置相反

浏览器访问主sever/test.jsp

添加session

此时为sever2节点,存在session

关闭sever2的tomcat服务

刷新页面,nginx自动切换到sever3的tomcat服务,且缓存保留,同样的,当sever2的memcache服务关闭,nginx也会自动使用sever3的memcache服务