1. 程式人生 > >開啟tomcat的apr模式,並利用redis做tomcat7的session的共享。

開啟tomcat的apr模式,並利用redis做tomcat7的session的共享。

pen 目錄 b- classname xsl 集群配置 sent permsize ast

更新系統組件

yum -y install  readline*  xmlto kernel-devel yum* screen vim* psmisc wget lrzsz pcre-devel libtidy libtidy-devel iptraf sysstat libevent libevent-devel perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker tar rrdtool ntp* dos2unix setup* net-snmp-utils net-snmp-devel ruby ruby-devel php-snmp cmake net-snmp-perl net-snmp net-snmp-libs wget elinks make autoconf213 m4 gcc gcc-c++ automake autoconf fontconfig fontconfig-devel libjpeg libjpeg* libjpeg-devel libpng libpng-devel freetype freetype* freetype-devel libxml2 libxml2-devel libdhash libdhash-devel  libxslt* zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2* libc-client libc-client-devel libicu-devel ncurses ncurses-devel xmlrpc-c xmlrpc-c-devel curl curl-devel e2fsprogs e2fsprogs-devel  krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel openldap-clients openldap-servers gd gd-devel pam* gettext gettext-devel  keyutils  compat* mpfr cpp libgomp libstdc++-devel ppl cloog-ppl keyutils-libs-devel libcom_err-devel libsepol-devel libXpm*  php-gd ncurses* libtool*  patch unzip bison-devel bison libcom_err-devel libsepol-devel gtk* libselinux-devel libtiff libtiff*  php-common policycoreutils telnet t1lib t1lib* nasm nasm*

修改java_home

vim /etc/profile
export JAVA_HOME=/data/java export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar export JAVA_HOME JAVA_BIN PATH CLASSPATH LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/apr/lib export LD_LIBRARY_PATH

安裝openssl

yum install -y zlib
tar zxf openssl
-1.0.2h.tar.gz cd openssl-1.0.2h ./config shared zlib make make install

安裝apr-iconv

tar -xvf apr-iconv-1.2.1.tar.gz
cd apr-iconv-1.2.1
./configure --prefix=/usr/local/apr-iconv --with-apr=/usr/local/apr
make
make install

安裝apr-util

tar zxvf apr-util-1.5.4.tar.gz
cd apr-util-1.5.4
./configure --prefix=/usr/local/apr-util  --with-apr=/usr/local/apr  
make
make install
cd 
/root

增加tomcat項目

tar zxvf apache-tomcat-7.0.61.tar.gz
mv apache-tomcat-7.0.61 你項目的路徑和名字

cd /你項目的路徑和名字/bin

tar zxvf tomcat-native.tar.gz
cd tomcat-native-1.1.33-src/jni/native/
./configure --with-apr=/usr/local/apr
make
make install

參考定義java回收

vim 你項目的路徑和名字/bin/catalina.sh 
JAVA_OPTS="-server -Xms2048m -Xmx2048m -XX:PermSize=256M -XX:MaxPermSize=512m  -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC  -XX:MaxGCPauseMillis=50 -XX:GCPauseIntervalMillis=200"

參考定義不用端口直接訪問tomcat

在<Host name="localhost"  appBase="webapps"
unpackWARs="true" autoDeploy="true">下面增加
<Context path=""  docBase="你項目的路徑和名字" />

1.配置Tomcat的conf目錄下的context.xml文件:

1> 單點Reids配置

vim context.xml
<Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve" /> <Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager" host="IP" port="端口" database="用的你個redis數據庫,默認16個,自己指定" maxInactiveInterval="60"/>

2> Sentinel集群配置:

<!-- Sentinel 配置 -->
<Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve" /> 
<Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager" 
maxInactiveInterval="60"
sentinelMaster="mymaster"
sentinels="127.0.0.1:26379,127.0.0.1:26380,127.0.0.1:26381,127.0.0.1:26382"
/>

復制commons-logging-1.2.jar commons-pool2-2.4.1.jar jedis-2.5.2.jar tomcat-redis-session-manage-tomcat7.jar到你tomcat的lib目錄下

啟動tomcat,看日誌提示 Will expire sessions after 1800 seconds

開啟tomcat的apr模式,並利用redis做tomcat7的session的共享。