当前位置: 首页 > news >正文

网站信息架构免费行情网站大全搜狐网

网站信息架构,免费行情网站大全搜狐网,烟台网站搜索优化,爱站网使用体验默认情况下,session是保存在TOMCAT服务器内存中的,如果我们有两个TOMCAT,它们的session是没有共享的。我们这回要做的就是把session保存在redis中,这样两个TOMCAT就可以共享session了。其实这货的详细原理还是很复杂的&#xff0c…

默认情况下,session是保存在TOMCAT服务器内存中的,如果我们有两个TOMCAT,它们的session是没有共享的。我们这回要做的就是把session保存在redis中,这样两个TOMCAT就可以共享session了。其实这货的详细原理还是很复杂的,不过大家只要记住一点:TOMCAT要作集群就必须实现session共享。还好,这个功能实现起来比较简单,下面我们来实现它。

GitHub:  https://github.com/Dengxd/JavaCluster  所有源码都在这里,GitHub经常连不上,要多刷新几次

安装Redis

Windows Redis下载地址: Releases · zkteco-home/redis-windows · GitHub  github经常连不上,多试几次

点击这个Source code(zip)就行,这家伙也是搞笑,这边写着源代码,我下载下来却发现没有源代码,就是EXE文件,也好,省得编译了。

解压文件,直接双击运行redis-server.exe,出现这个界面:

好,redis安装完成。

安装配置nginx

安装NGINX可以参考上一篇文章《Java集群:单体架构升级到集群架构(一)使用NGINX建立集群》,不过今天我们不使用三台服务器,就用一台服务器,如下图:

TOMCAT、NGINX在同一台服务器里面,那么在配置NGINX的时候,IP就要改成127.0.0.1

修改nginx.conf 文件,把:

upstream mytomcat {server 192.168.1.200:8000;server 192.168.1.201:8001;
}

改成

upstream mytomcat {server 127.0.0.1:8000;server 127.0.0.1:8001;
}

如果你已经启动了nginx,要另外开一个cmd窗口,用命令 nginx -s reload 来刷新配置:

写一个登录网页

这个登录网页和普通的网站登录功能差不多,也有点区别:就是在验证用户名密码之前,先看一下session里面有没有用户名,如果有的话,说明已经登录过了,就不再登录了。另外,就是把端口号也传到页面显示出来。

String loginUser=(String)session.getAttribute("user");
request.setAttribute("port",MainApplication.port);
if(loginUser!=null){return "hello";
}

咱们简单一点不读数据库了,用户名用abc, 密码用123

if(user.equals("abc") && password.equals("123")) {session.setAttribute("user",user);return "hello";
}

pom.xml文件中要加上:

<dependency><groupId>org.springframework.session</groupId><artifactId>spring-session-data-redis</artifactId>
</dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

applicatioin.properties文件要加上redis和session的配置

spring.redis.host=localhost
spring.redis.port=6379
# spring.redis.password=123456
spring.redis.timeout=1000
spring.redis.jedis.pool.min-idle=5
spring.redis.jedis.pool.max-active=10
spring.redis.jedis.pool.max-idle=10
spring.redis.jedis.pool.max-wait=2000# session存到redis中(最重要的就是这一行)
spring.session.store-type=redis
# session失效时间
spring.session.timeout=1800
server.servlet.session.cookie.max-age=1800

测试

首先,启动登录网页程序,打开两个cmd窗口,分别运行下面两个命令:

  1. java -jar login-0-SNAPSHOT.jar --server.port=8000
  2. java -jar login-1.0-SNAPSHOT.jar --server.port=8001

然后我们启动nginx

在浏览器中输入  http://localhost/login

输入用户名abc, 密码123,点击submit, 进入hello页面

可以看到是8000端口的tomcat在处理用户的登录

我们可以多开几个标签页,输入http://localhost/hello

如果看到8001端口,就说明成功了。

查看redis中保存的数据

双击运行redis-cli.exe ,输入 keys * , 回车,可以看到redis中保存的session数据:

session相关原理

如果您对session原理有兴趣,可以上网去搜索一下,这种文章还是很多的,这里提供几个:

https://blog.csdn.net/YXXXYX/article/details/125342292

https://www.cnblogs.com/jing99/p/11785070.html

https://blog.csdn.net/qq_43842093/article/details/120836732

http://www.yayakq.cn/news/818310/

相关文章:

  • 网站建设中左对齐哪一个网站做专栏作家好点
  • 博客类网站源码公司接到网站中文域名到期
  • 优惠券网站怎么做代理网站开发的难点
  • 购物网站需求分析58创业加盟网
  • 嘉兴公司网站建设北京垡头网站建设公司
  • 互联网网站开发的未来方向威海网站开发制作
  • 微网站怎么做的好网络营销外包服务商
  • 做网站要什么知识浏览器下载视频
  • 淘宝怎么做网站wordpress 子主题 样式
  • 连云港市网站平台口碑营销策略有哪些
  • 包头企业网站建设公司湖北营销型网站建设多少钱
  • 企业网站内容是什么高端建筑
  • 软装设计网站推荐网站建设季度考核评价工作
  • 网站建设免费按词收费南京高端网站建设公司
  • 这几年做哪些网站能致富买机箱网站
  • 专注做一家男生最爱的网站怎么去推广自己的平台
  • 给网站做友情链接天津做网站.都找津坤科技
  • 国内最炫酷的网站vps 上传网站
  • 微信网站小游戏网页制作模板的名词解释
  • ftp是属于一种网站发布方式wordpress怎么在上面建几个分类
  • 郑州做网站公司 汉狮网络专业常州做网站哪家便宜
  • 一个域名可以建几个网站php彩票网站开发
  • 什么网站做蔬菜生鲜比较好线上商城模板
  • 免费做海报的网站怒江商城网站建设
  • 成华区网站建设广州最富的区是哪个区
  • 宁波象山网站建设中企动力电话
  • 网站设计师工资一般多少公司部门网站设计模板
  • 云南建设人才网站首页北京市住房城乡建设厅网站首页
  • 怎么做淘宝客网站WordPress小程序论坛
  • 网站录屏可以做证据吗软件是怎么制作的