環境:centOS 6.5(64位)、jdk8_8u5 、tomcat7.054、nginx1.47、libevent-2.0 、memcached-1.4.20
10.1.1.127 // tomcat,nginx,memcached
10.1.1.128 // tomcat
tomcat 機配置
1、解除安裝自帶jdk ,采用rpm 包安裝
rpm –qa |grep java | xargs rpm -e --nodeps //批量解除安裝自帶的jdk相關包
2、rpm 安裝
rpm -ivhjdk-8u5-linux-x64.rpm //預設安裝在 /usr/java
mv 改名改為 /usr/java/jdk
java -version //驗證安裝成功
3、寫入環境
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 -mtcp -p tcp --dport 8080 -j ACCEPT
service iptables restart
http://10.1.1.127:8080/ //開啟tomcat,測試tomcat安裝成功
5.導入 msm-1.7包到 tom/lib/ ( tomcat 節點都要放

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
章節Overviewover 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 nginxnginx;
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 {
upstreamsession {
server 10.1.1.217:8080weight=1 max_fails=2 fail_timeout=30s;
server 10.1.1.218:8080weight=1 max_fails=2 fail_timeout=30s;
}
server {
listen 80;
server_name 10.1.1.217;
root /nginxroot/;
location~ \.(txt|jsp)$ {
proxy_passhttp://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 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 -p11211 -c 256 -P /var/run/memcached.pid
kill `cat /var/run/memcached1.pid` //關閉
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 保持不變
轉載于:https://blog.51cto.com/unlimited/1429723