设为首页收藏本站

追梦Linux

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 536|回复: 0

nginx反向代理tomcat7集群使用redis作为session缓存

[复制链接]

482

主题

485

帖子

16万

积分

CEO

Rank: 9Rank: 9Rank: 9

积分
168233

最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

QQ
发表于 2015-12-15 10:23:56 | 显示全部楼层 |阅读模式
使用软件
nginx1.6.2
tomcat7.0.65
redis2.8.12
jsk7u80
在安装开始前先安装好所有所需依赖包
  1. yum install gcc gcc-c++ gcc-g77 flex bison autoconf automake bzip2-devel zlib-devel ncurses-devel libjpeg-devel libpng-devel libtiff-devel freetype-devel pam-devel openssl-devel libxml2-devel gettext-devel pcre-devel
  2. yum groupinstall Development tools
复制代码
1.nginx安装
  1. tar zxvf nginx-1.6.2.tar.gz
  2. cd nginx-1.6.2
  3. ./configure --prefix=/usr/local/nginx --with-pcre
  4. make
  5. make install
复制代码
2.tomcat安装
  1. unzip apache-tomcat7.0.65
  2. mv apache-tomcat7.0.65 /usr/local/tomcat
  3. chmod 755 /usr/local/tomcat/bin/*
  4. vim /usr/local/tomcat/conf/context.xml
复制代码
添加以下内容
  1.     <Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve" />
  2.     <Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager"
  3.     host="192.168.1.203"  #你的redisip地址
  4.     port="6379"
  5.     database="0"
  6.     maxInactiveInterval="60"/>
复制代码
并将下载好的jar包放入tomcat目录中的lib目录
3.JDK安装
  1. tar zxvf jdk-7u80-linux-i586.tar.gz
  2. mv jdk1.8.0_31 /usr/local/java
  3. vim /etc/profile.d/java.sh   加入如下配置
复制代码

  1. JAVA_HOME=/usr/localjava
  2. JAVA_BIN=/usr/local/java /bin
  3. JRE_HOME=/usr/local/java /jre
  4. PATH=$PATH:/usr/local/java /bin:/usr/local/java /jre/bin
  5. CLASSPATH=/usr/local/java /jre/lib:/usr/local/java /lib:/usr/local/java /jre/lib/charsets.jar
复制代码
. /etc/profile.d/java.sh
vim /etc/profile
  1. export JAVA_HOME=/home/jenkins/java
  2. export PATH=$JAVA_HOME/bin:$PATH
  3. export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
复制代码
  1. source /etc/profile
复制代码
如果以上配置成功,则下面的命令可以看到java的版本:
  1. java -version
复制代码
4.redis安装
  1. wget https://redis.googlecode.com/files/redis-2.6.12.tar.gz
  2. tar zxvf redis-2.6.12.tar.gz
  3. cd  redis-2.6.12
  4. make     #如果报错 请使用make MALLOC=libc
  5. make PREFIX=/usr/local/redis  install
复制代码
此时安装完成,cd  /usr/local/redis 会看到一个bin目录,该目录下
分别是redis-server、redis-cli、redis-benchmark、redis-stat,它们的作用如下:
  1. redis-server:Redis服务器的daemon启动程序
  2. redis-cli:Redis命令行操作工具。当然,你也可以用telnet根据其纯文本协议来操作
  3. redis-benchmark:Redis性能测试工具,测试Redis在你的系统及你的配置下的读写性能
  4. redis-stat:Redis状态检测工具,可以检测Redis当前状态参数及延迟状况
复制代码
解析来需要自己定义redis的配置文件
  1. mkdir /usr/local/redis/etc/
  2. mkdir /usr/local/redis/var/
复制代码
  1. vim  /usr/local/redis/etc/redis.conf
复制代码
#写入如下内容
  1. daemonize yes
  2. pidfile /usr/local/redis/var/redis.pid
  3. port 6379
  4. timeout 300
  5. loglevel debug
  6. logfile /usr/local/redis/var/redis.log
  7. databases 16
  8. save 900 1
  9. save 300 10
  10. save 60 10000
  11. rdbcompression yes
  12. dbfilename dump.rdb
  13. dir /usr/local/redis/var/
  14. appendonly no
  15. appendfsync alway
复制代码
下面是redis.conf的主 要配置参数的意义:
daemonize:是否以后台daemon方式运行
pidfile:pid文件位置
port:监听的端口号
timeout:请求超时时间
loglevel:log信息级别
logfile:log文件位置
databases:开启数据库的数量
save * *:保存快照的频率,第一个*表示多长时间,第三个*表示执行多少次写操作。在一定时间内执行一定数量的写操作时,自动保存快照。可设置多个条件。
rdbcompression:是否使用压缩
dbfilename:数据快照文件名(只是文件名,不包括目录)
dir:数据快照的保存目录(这个是目录)
appendonly:是否开启appendonlylog,开启的话每次写操作会记一条log,这会提高数据抗风险能力,但影响效率。

appendfsync:appendonlylog如何同步到磁盘(三个选项,分别是每次写都强制调用fsync、每秒启用一次fsync、不调用fsync等待系统自己同步)

启动redis的命令是:
  1. /usr/local/redis/bin/redis-server   /usr/local/redis/etc/redis.conf
复制代码
简单测试redis
/usr/local/redis/bin/redis-cli   
redis 127.0.0.1:6379> set k1 v1
OK
redis 127.0.0.1:6379> get k1

"v1"
这说明没有问题
5.建立测试页
vi index.jsp
添加以下内容

  1. <%@ page language="java" %>
  2. <html>
  3.   <head><title>TomcatA</title></head>
  4.   <body>
  5.     <table align="centre" border="1">
  6.       <tr>
  7.         <td>Session ID</td>
  8.         <td><%= session.getId() %></td>
  9.       </tr>
  10.       <tr>
  11.         <td>Created on</td>
  12.         <td><%= session.getCreationTime() %></td>
  13.      </tr>
  14.     </table>
  15.   </body>
  16. </html>
  17. sessionID:<%=session.getId()%>
  18. <br>
  19. SessionIP:<%=request.getServerName()%>
  20. <br>
  21. SessionPort:<%=request.getServerPort()%>
  22. <%
复制代码
#为了区分,第二个可以是222
out.println("This is Tomcat Server 111");
6.依次启动redis,tomcat,nginx,之后去网页浏览新建的index.jsp查看session是否缓存成功








本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

QQ|小黑屋|手机版|Archiver|追梦Linux ( 粤ICP备14096197号  点击这里给我发消息

GMT+8, 2019-7-17 17:16 , Processed in 0.276622 second(s), 33 queries .

Powered by 追梦Linux! X3.3 Licensed

© 2015-2017 追梦Linux!.

快速回复 返回顶部 返回列表