生产环境Session解决方案、Session服务器之Redis

这篇具有很好参考价值的文章主要介绍了生产环境Session解决方案、Session服务器之Redis。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 文章来源地址https://www.toymoban.com/news/detail-605600.html

目录

一、服务器配置

二、安装nginx

三、安装配置Tomcat:

 四、配置session

Session服务器之Redis

Redis与Memcached的区别

安装部署redis


一、服务器配置

IP地址

主机名

软件包列表

192.168.100.131

huyang1

nginx

192.168.100.133

huyang3

JDK Tomcat  

192.168.100.135

huyang5

JDK Tomcat

二、安装nginx

配置主机名:
[root@localhost ~]# hostname nginx
[root@localhost ~]# bash
安装nginx软件包并修改:
[root@nginx ~]# yum -y install pcre-devel zlib-devel openssl-devel 
[root@nginx ~]# useradd -s /sbin/nologin -M nginx
[root@nginx ~]# tar xf nginx-1.15.9.tar.gz -C /usr/src/
[root@nginx ~]# cd /usr/src/nginx-1.15.9/
[root@nginx ~]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-file-aio --with-http_stub_status_module --with-http_ssl_module --with-http_flv_module --with-http_gzip_static_module && make && make install

--prefix=/usr/local/nginx 		#指定安装目录
--user=nginx --group=nginx 		#指定运行的用户和组
--with-file-aio 				#启用文件修改支持
--with-http_stub_status_module #启用状态统计
--with-http_ssl_module 		#启用ssl模块
--with-http_flv_module 		#启用flv模块,提供寻求内存使用基于时间的偏移量文件
--with-http_gzip_static_module	#启用gzip静态压缩
 
[root@nginx ~]# ln -s /usr/local/nginx/sbin/nginx  /sbin/
[root@nginx ~]# vim /usr/local/nginx/conf/nginx.conf
34     upstream tomcat_pool {
 35         server 192.168.100.133:8080 weight=1 max_fails=1 fail_timeout=10s;
 36         server 192.168.100.135:8080 weight=1 max_fails=1 fail_timeout=10s;
 37     }
 38 
 39     server {
 40         listen       80;
 41         server_name  localhost;
 42         charset utf-8;
 43         
 44         location / {
 45             root   html;
 46             index  index.html index.htm;
 47             proxy_pass http://tomcat_pool;
 48         }   
[root@nginx ~]# nginx

三、安装配置Tomcat:

配置主机名:
[root@localhost ~]# hostname node1  另外一台机器配置为node2
[root@localhost ~]# bash
安装配置Tomcat
解压apache-tomcat-7.0.54.tar.gz 包
[root@tomcat1 ~]# tar xf apache-tomcat-7.0.54.tar.gz 

解压后生成apache-tomcat-7.0.54文件夹,将该文件夹移动到/usr/local下,并改名为tomcat
[root@tomcat1 ~]# mv apache-tomcat-7.0.54 /usr/local/tomcat

启动Tomcat
[root@tomcat1 ~]# /usr/local/tomcat/bin/startup.sh 
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/local/java
Using CLASSPATH:      /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.

Tomcat 默认运行在8080端口
[root@tomcat1 ~]# netstat -lnpt | grep java
tcp        0      0 :::8080                     :::*                        LISTEN      3318/java   

浏览器访问测试 192.168.100.133:8080 和 192.168.100.135:8080

均呈现下列图形!

生产环境Session解决方案、Session服务器之Redis,firefox,前端,缓存

 四、配置session

建立session.jsp的测试页面
[root@node1 ~]# vim /usr/local/tomcat/webapps/ROOT/session.jsp
Session ID:<%= session.getId() %><BR>
SessionPort:<%= request.getServerPort() %>
<% out.println("This tomcat server 192.168.100.133");%>

[root@node2 ~]# vim /usr/local/tomcat/webapps/ROOT/session.jsp
Session ID:<%= session.getId() %><BR>
SessionPort:<%= request.getServerPort() %>
<% out.println("This tomcat server 192.168.100.135");%>		
Session绑定:
[root@nginx ~]# vim /usr/local/nginx/conf/nginx.conf
34     upstream tomcat_pool {
35         ip_hash;
 36         server 192.168.100.133:8080 weight=1 max_fails=1 fail_timeout=10s;
 37         server 192.168.100.135:8080 weight=1 max_fails=1 fail_timeout=10s;
 38     }
[root@nginx ~]# killall -HUP nginx

 浏览器访问测试 192.168.100.131/session.jsp

生产环境Session解决方案、Session服务器之Redis,firefox,前端,缓存

 刷新,id和IP地址都会变化

生产环境Session解决方案、Session服务器之Redis,firefox,前端,缓存

Session服务器之Redis

Redis与Memcached的区别

  1. 内存利用率:使用简单的key-value(键值对)存储的话,Memcached的内存利用率更高,而如果Redis采用hash结构来做key-value存储,由于其组合式的压缩,其内存利用率会高于Memcached。
  2. CPU性能对比:由于Redis只使用单核,而Memcached可以使用多核,所以平均每一个核上Redis在存储小数据时比Memcached性能更高。而在100k以上的数据中Memcached性能要高于Redis,虽然Redis最近也在存储大数据的性能上进行优化,但是比起Memcached还是稍有逊色。
  3. Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。
  4. Redis支持数据的备份,即master-slave模式的数据备份。
  5. Redis不仅仅支持简单的key-Value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。

安装部署redis

[root@huyang5 ~]# tar xf redis-6.2.12.tar.gz -C /usr/src/

[root@huyang5 ~]# cd /usr/src/redis-6.2.12/

[root@huyang5 redis-6.2.12]# make

生产环境Session解决方案、Session服务器之Redis,firefox,前端,缓存

[root@huyang5 redis-6.2.12]# mkdir -p /usr/local/redis/{bin,etc,var}

[root@huyang5 redis-6.2.12]# cd src/

[root@huyang5 src]# cp redis-benchmark  redis-check-aof redis-cli redis-server  /usr/local/redis/bin/

[root@huyang5 redis-6.2.12]# cp ../redis.conf  /usr/local/redis/etc

[root@huyang5 redis-6.2.12]# cp ../sentinel.conf  /usr/local/redis/etc

生产环境Session解决方案、Session服务器之Redis,firefox,前端,缓存

[root@huyang5 redis-6.2.12]# vim /usr/local/redis/etc/redis.conf //修改配置文件

生产环境Session解决方案、Session服务器之Redis,firefox,前端,缓存

[root@huyang5 redis-6.2.12]# killall -9 redis-server

启动redis:

[root@huyang5 redis-6.2.12# /usr/local/redis/bin/redis-server  &&   /usr/local/redis/etc/redis.conf

[root@huyang5 redis-6.2.12]# netstat -anpt |grep redis

生产环境Session解决方案、Session服务器之Redis,firefox,前端,缓存

监控redis共享session:

[root@huyang5 redis-6.2.12]# /usr/local/redis/bin/redis-cli -p 6379  monitor

生产环境Session解决方案、Session服务器之Redis,firefox,前端,缓存

[root@huyang5 redis-6.2.12]# cp tomcat-redis-session-manage-tomcat7.jar tomcat-juli.jar commons-logging-1.1.3.jar commons-pool2-2.2.jar jedis-2.5.2.jar /usr/local/tomcat/lib

生产环境Session解决方案、Session服务器之Redis,firefox,前端,缓存

修改context.xml文件以支持调用redis

[root@huyang5/3 redis-6.2.12]# vim /usr/local/tomcat/conf/context.xml

生产环境Session解决方案、Session服务器之Redis,firefox,前端,缓存

[root@huyang5 ~]# /usr/local/tomcat/bin/shutdown.sh

[root@huyang5 ~]# /usr/local/tomcat/bin/startup.sh

[root@huyang5 redis-session]# netstat -anpt | grep :6379

生产环境Session解决方案、Session服务器之Redis,firefox,前端,缓存

[root@huyang3 ~]# netstat -anpt | grep :6379

生产环境Session解决方案、Session服务器之Redis,firefox,前端,缓存

浏览器访问测试 http://192.168.100.131/session.jsp 

生产环境Session解决方案、Session服务器之Redis,firefox,前端,缓存

刷新一次:这样就锁定在了135的session id

同理也可以反过来锁定133的session id

生产环境Session解决方案、Session服务器之Redis,firefox,前端,缓存

 

到了这里,关于生产环境Session解决方案、Session服务器之Redis的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • K8s 生产环境问题汇总及解决方案(持续更新 ing)

    目录 一、前端页面显示 503 Service Temporarily Unavailable 问题背景 解决方案 原理 二、Dockfile 构建镜像失败:When using COPY with more than one source file, the destination must be a directory and end with a /  问题背景 解决方案 原理 三、前端页面显示 502 Bad Gateway 问题背景  解决方案 原理 时间:2

    2024年02月02日
    浏览(40)
  • 【ELK解决方案】ELK集群+RabbitMQ部署方案以及快速开发RabbitMQ生产者与消费者基础服务...

    前言: 大概一年多前写过一个部署ELK系列的博客文章,前不久刚好在部署一个ELK的解决方案,我顺便就把一些基础的部分拎出来,再整合成一期文章。大概内容包括:搭建ELK集群,以及写一个简单的MQ服务。 如果需要看一年多之前写的文章,可以详见下列文章链接(例如部署

    2023年04月08日
    浏览(45)
  • python实现/直播服务器/聊天服务器/的多种解决方案

    在Python中,您可以使用以下技术栈来实现直播服务器: Flask:Flask是一个轻量级的Web框架,可用于构建直播服务器的后端。您可以使用Flask编写API端点来处理直播流的控制和管理。 Django:Django是一个功能强大的Web框架,提供了许多内置功能和插件,可用于构建复杂的直播服务

    2024年02月11日
    浏览(46)
  • SSH连接问题解决方案:服务器无法启动SSH服务

    在处理服务器管理和远程连接时,SSH(Secure Shell)是一个常用的工具。然而,有时候我们可能会遇到SSH启动失败的问题,导致无法通过SSH连接到服务器。本文将介绍一些解决SSH启动失败的常见方法。 检查SSH服务状态 首先,我们需要确认SSH服务的状态。可以通过以下命令检查

    2024年02月04日
    浏览(68)
  • “代理服务器出现问题,或者地址有误”解决方案

    网上查了很多方法,终于解决了,在此分享一下(前两个方法为通用方法, 都不行的话,可以试试第三种方法) 方法一 :(windows11版) 打开设置——网络和Internet——找到代理  进入后可能是手动设置代理开启了,关闭即可 方法二 :(通用版) 打开控制面板——找到网络

    2024年02月03日
    浏览(62)
  • SSH连接问题解决方案 - 服务器无法连接

    SSH(Secure Shell)是一种常用的远程登录和执行命令的协议,它提供了安全的加密通信通道。然而,有时候在连接Linux服务器时可能会遇到无法连接的问题。本文将为您提供一些可能的解决方案。 确认服务器状态 首先,您需要确认服务器的状态。确保服务器正在运行,并且网络

    2024年02月03日
    浏览(47)
  • HPE服务器常见报错信息以及解决方案

    Environment 环境 HPE ProLiant Gen8 and Gen9 Servers HPE ProLiant Gen8 和 Gen9 服务器 Array Controllers 阵列控制器 General controller issues 常规控制器问题 Symptom Cause Action Controllers are no longer redundant 控制器不再冗余 Symptom Cause Action HPE Dynamic Smart Array B140i drives are not found when RAID mode is disabled 禁用 RA

    2024年02月11日
    浏览(39)
  • 连接服务器出现内部错误的原因与解决方案

    服务器作为重要的数据存储和处理中心,其稳定性和可靠性对于企业和个人的业务运营至关重要。然而,在实际应用中,我们经常会遇到连接服务器时出现内部错误的情况。根据用户反馈显示,远程桌面出现内部错误的问题由来已久,已经严重影响了用户的工作和生活。本文

    2024年03月24日
    浏览(80)
  • VMWARE 服务器整合为战提供的解决方案

    虚拟构架提供前所未有的负载隔离,为所有系统运算和 I/O 设计的微型 资源控制。虚拟构架完美地结合现有的管理软件并在共享存储( SAN )上改 进投资回报率。通过把物理系统整合到有 VMWARE 虚拟构架的数据中心上 去,企业体验到:  更少的硬件和维护费用  空闲系统资

    2024年02月09日
    浏览(41)
  • 公司数据迁移,服务器小文件多复制慢解决方案

    企业普遍面临一个挑战:如何高效地处理和移动大量的小型文件。这些文件虽然单个体积不大,但数量庞大,累积起来会占据极大的存储空间,而且在迁移过程中,复制这些文件的速度往往非常缓慢。这不仅影响了企业的运营效率,还可能导致项目延期和成本上升。那么,这

    2024年02月22日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包