tomcat、redis session共存配置
1、首先安装jdk再安装Tomcat(jdk1.70 Tomcat7.0.40)名称 IP 端口 tomcat JDK
tomcat1 10.7.0.193 8080 7.0.40 1.7.0_25
tomcat2 10.7.0.192 8080 7.0.40 1.7.0_25
# tar -zxf jdk-7u111-linux-x64.tar.gz -C /usr/local/java/
# vim /etc/profile
export JAVA_HOME=/usr/local/java/jdk1.8.0_111
export JRE_HOME=/usr/local/java/jdk1.8.0_111/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$PATH
# source /etc/profile
然后可以看到Java命令了
# java -version
2、安装Tomcat
# tar -zxf apache-tomcat-7.0.73.tar.gz -C /usr/local/
# cd /usr/local
# ln -sv apache-tomcat-7.0.73/ tomcat
# ls bin/
bootstrap.jar commons-daemon-native.tar.gz digest.sh startup.battool-wrapper.scatalina.bat configtest.bat setclasspath.bat startup.sh version.bat
catalina.sh configtest.sh setclasspath.sh tomcat-juli.jar version.sh
#里面全部是一些.sh的脚本和.jar的Java归档文件;Tomcat就是 用Java写的所以启动时会调用一些Java库,.bat为Windows的批处理脚本,用于windows启动时调用,其中catalina.sh为核心脚本
ls conf/
Catalina catalina.propertieslogging.propertiestomcat-users.xml
catalina.policy context.xml server.xml web.xml
#其中server.xml为主配置文件;
#tomcat-users.xml为用户认证文件,Tomcat启动后会将这个文件读进内存中完成账号和密码的检测认证,所以这个文件的安全性很重要;#web.xml为Tomcat默认的应用程序部署描述符,一个web应用程序所谓的部署就是将它放在Tomcat某一个context某一个host能够访问到的路径下,及将web应用程序所依赖的类装载进JVM的过程;
#context.html默认为上下文提供的配置文件
#catalina.pro[erties 用来定义应用程序自身属性的(启动JVM要定义许多属性),如所使用的内存大小,所使用的字符串缓冲池的大小,你的server loader加载器是什么,等等
#Catalina.policy用来定义Tomcat自身的安全和资源授权策略,如定义通过互联网访问时,哪些资源用户可以访问哪些资源用户不能访问;哪些资源能被装载,哪些资源不能被装载等等
#logging.pro[erties 用来定义你的日志级别,日志文件的路径等等
一般来说如果你不定义服务器自身的属性的话,只需修改.xml的文件
为Tomcat提供init脚本
# vim /etc/rc.d/init.d/tomcat
#!/bin/sh
# Tomcat init script for Linux.
#
# chkconfig: 2345 96 14
# description: The Apache Tomcat servlet/JSP container.
export JAVA_OPTS='-Xms64m -Xmx128m' #定义启动时堆内存最小64M,最大128M
JAVA_HOME=/usr/local/java/jdk1.8.0_111 #Java的路径
CATALINA_HOME=/usr/local/apache-tomcat-7.0.73 #Tomcat的路径
export JAVA_HOME CATALINA_HOME #将Java和tomcat的路径输出为环境变量
exec $CATALINA_HOME/bin/catalina.sh $* #执行这个脚本
# service tomcat stop
# service tomcat start
3、安装redis、Nginx
Nginx安装
tar zxvf nginx-1.8.0.tar.gz
cd nginx-1.8.0
./configure && make && make install
/usr/local/nginx/nginx
redis安装
tar -zxvf redis-3.0.3.tar.gz
make
mkdir -p /usr/local/redis/bin
mkdir -p /usr/local/redis/etc
mkdir -p /usr/local/redis/var
cp redis-benchmarkredis-check-aof redis-cli redis-server redis-check-dump/usr/local/redis/bin/
cp ../redis.conf/usr/local/redis/etc/
#修改配置文件,一般需要把daemonize no改为 daemonize yes其他的看需要修改。
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
#测试 /usr/local/redis/bin/redis-cli
redis> set name asd123
OK
redis> get name
"asd123"
成功
4、配置session共存
修改nginx.conf加上:
upstream backend {
server 10.7.0.193:8080 max_fails=1 fail_timeout=10s;
server 10.7.0.192:8080 max_fails=1 fail_timeout=10s;
}
修改nginx.conf的location成
location / {
root html;
indexindex.html index.htm;
proxy_pass http://backend;
}
重启Nginx
下载tomcat-redis-session-manager相应的jar包,主要有三个:(官网可能有问题需再下载tomcat-juli-adapters.jar和tomcat-juli.jar两个包,可以使用http://download.csdn.net/detail/qinxcb/8279761下的tomcat-redis-session-manager.jar)
wget https://github.com/downloads/jcoleman/tomcat-redis-session-manager/tomcat-redis-session-manager-1.2-tomcat-7-Java-7.jar
wget http://central.maven.org/maven2/redis/clients/jedis/2.5.2/jedis-2.5.2.jar
wget http://central.maven.org/maven2/org/apache/commons/commons-pool2/2.0/commons-pool2-2.0.jar
修改两tomcat的context.xml:
WEB-INF/web.xml
在tomcat/webapps/test放一个index.jsp
TomcatA
Session ID
Created on
sessionID:
SessionIP:
SessionPort:
通过访问http://10.7.0.194/test/
Session> Created on1487208175588
sessionID:4D948D3222B49F03A6696FF2550B4764
SessionIP:backend
SessionPort:80 This is Tomcat Server 2222
Session> Created on1487208175588
sessionID:4D948D3222B49F03A6696FF2550B4764
SessionIP:backend
SessionPort:80 This is Tomcat Server 1111
可以看到虽然Server从1111变为2222,但session的创建时间没有变化,这就完成了session共享。
页:
[1]