NGINX + TOMCAT7 + MEMCACHED 實現SESSION 共享

TOMCAT7.0+ NGINX + MEMCACHED + memcached-session-manager 實現SESSION共享 css

http://blog.csdn.net/nerissa/article/details/18961361  ; //參考博客 java

http://pan.baidu.com/s/1pJlZ0mB    //相關包下載,含lib所需的jar包 node

環境:centOS 6.5(64位) 、jdk8_8u5 、tomcat7.05四、nginx1.4七、libevent-2.0 、memcached-1.4.20 linux

10.1.1.127 // tomcat,nginx,memcached nginx

10.1.1.128 // tomcat web

tomcat 機配置 apache

一、卸載自帶jdk ,採用rpm 包安裝 vim

rpm –qa |grep java | xargs rpm -e --nodeps //批量卸載自帶的jdk相關包 後端

二、rpm 安裝 tomcat

rpm -ivh jdk-8u5-linux-x64.rpm //默認安裝在 /usr/java

mv 更名改成 /usr/java/jdk

java -version //驗證安裝成功

三、寫入環境

vim /etc/profile

JAVA_HOME=/usr/java/jdk

JRE_HOME=/usr/java/jdk/jre

PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib

export JAVA_HOME JRE_HOME PATH CLASSPATH

source /etc/profile // 環境生效

4.解壓tomcat 測試運行

tar –zxf apache-tomcat-7.0.54.tar.gz  -C /usr/local

mv apache-tomcat-7.054 tomcat

vim /etc/sysconfig/iptables //防火牆開放8080端口

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT

service iptables restart

http://10.1.1.127:8080/ //開啓tomcat,測試tomcat安裝成功

5.導入 msm-1.7包到 tom/lib/ ( tomcat 節點都要放

clip_image001

http://chenzhou123520.iteye.com/blog/1650212 //參考博客

6.更改tomcat session保存方式(Non-Sticky,kryo

 如下內容加到配置文件裏

vim conf/context.xml

<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"

memcachedNodes="n1:10.1.1.217:11211"

sticky="false"

lockingMode="auto"

sessionBackupAsync="false"

requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$"

sessionBackupTimeout="1000" transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory"

/>

//參數用法官方文檔

https://code.google.com/p/memcached-session-manager/wiki/SetupAndConfiguration

章節Overview over memcached-session-manager configuration attributes

nginx 安裝配置

1.源碼包安裝

#yum install pcre* //nginx 依賴pcre類庫

#useradd nginx

#tar xf /share/soft/lamp/nginx/nginx-1.4.7.tar.gz -C /usr/src/

#cd /usr/src/nginx-1.4.7

#./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_gzip_static_module --with-http_stub_status_module

# make && make install

2.nginx 反向代理,實現負載均衡代理後面兩臺tomcat 服務器

user nginx nginx;

worker_processes 5;

error_log logs/error.log;

#error_log logs/error.log notice;

#error_log logs/error.log info;

pid logs/nginx.pid;

events {

worker_connections 1024;

use epoll;

}

http {

upstream session {

server 10.1.1.217:8080 weight=1 max_fails=2 fail_timeout=30s;

server 10.1.1.218:8080 weight=1 max_fails=2 fail_timeout=30s;

}

server {

listen 80;

server_name 10.1.1.217;

root /nginxroot/;

location ~ \.(txt|jsp)$ {

proxy_pass http://session;

}

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_set_header Host $http_host;

}

}

mkdir /nginxroot/

//以上是簡單的實現的是對jsp訪問的均衡調度,實驗隨便改的

memcached 的安裝 //先安裝libevent(memcached依賴libevent)

1.安裝

#tar zxvf libevent-2.0.21-stable.tar.gz

#cd&#160; zxvf libevent-2.0.21-stable

# ./configure --prefix=/usr

#make && make install

# tar zxvf memcached-1.4.20.tar.gz

#cd memcached-1.4.20

# ./configure --with-libevent=/usr

#make && make install

2.啓動,關閉命令

//啓動 -d 後臺運行 –m 內存大小 –p 端口 –c 最大併發數

/usr/local/bin/memcached -d -m 128 -u root -p 11211 -c 256 -P /var/run/memcached.pid

kill `cat /var/run/memcached1.pid`&#160; //關閉

http://hxq0506.iteye.com/blog/1388971 //參考連接

測試:

啓動順序 tomcat – nginx – memcached

測試頁面test.jsp,放入webapps/ROOT:

Server Info:

SessionID:<%=session.getId()%>

<br>

SessionIP:<%=request.getServerName()%>

<br>

SessionPort:<%=request.getServerPort()%>

<br>

<%

out.println("127"); //標記後端節點

%>

結果:session 保持不變

相關文章
相關標籤/搜索