NGINX + TOMCAT7 + MEMCACHED 实现SESSION 共享
原文地址: http://my.oschina.net/u/1791256/blog/283064
TOMCAT7.0+ NGINX + MEMCACHED + memcached-session-manager 实现SESSION共享
http://blog.csdn.net/nerissa/article/details/18961361 ; //参考博客
http://pan.baidu.com/s/1pJlZ0mB //相关包下载,含lib所需的jar包
环境: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 -ivh jdk-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 -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 节点都要放
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 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` //关闭
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://www.cnblogs.com/AloneSword/p/4481964.html
NGINX + TOMCAT7 + MEMCACHED 实现SESSION 共享相关推荐
- nginx+tomcat8+memcached实现session共享具体操作
本次试验用到的软件包的版本如下: 一.针对10.43.2.134的操作 1.安装jdk环境 tar zxf jdk-8u5-linux-x64.tar.gz mkdir /usr/java mv jd ...
- Nginx+Tomcat+Memcached实现session共享
实验环境: server1:nginx tomcat memcached server2:tomcat memcached Session是指一个终端用户与交互系统进行通信的时间间隔,通常指从注册进入 ...
- Nginx+Tomcat+Memecached实现session共享配置
这段时间一直在搞项目部署,以前从来没做过,感觉很吃力,下面这个是自己配的Ubuntu下Nginx+Tomcat+Memecached实现session共享配置参考文档,欢迎大家拍砖,不知为啥sessi ...
- 用memcached实现session共享
用memcached实现session共享 一.简介 1)Memcached简介: 是一种高性能的分布式缓存服务器: 一般的使用目的是,通过"缓存数据" 查询结果,减少数据访问次数 ...
- Redis+Tomcat+Nginx集群实现Session共享,Tomcat Session共享
转载自 Redis+Tomcat+Nginx集群实现Session共享,Tomcat Session共享 一.Session共享使用tomcat-cluster-redis-session-mana ...
- 转载:分布式Session共享:tomcat+memcached实现session共享
原文:http://www.cnblogs.com/notDog/p/5341219.html?utm_source=tuicool&utm_medium=referral 一.前言 本文主要 ...
- 分布式Session共享(二):tomcat+memcached实现session共享 - 萝卜兔子 - 博客园
分布式Session共享(二):tomcat+memcached实现session共享 - 萝卜兔子 - 博客园 http://www.cnblogs.com/notDog/p/5341219.htm ...
- 基于Memcached的Nginx服务器集群session共享
原料:jdk1.8,tomcat7,nginx1.16,memcached-1.2.6,Mem-Tomcat需要的jar包,基于windows7.所有的点击以下链接可下载 链接:https://pan ...
- Redis + Tomcat + Nginx 集群实现 Session 共享
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者 | 蕃薯耀 链接 | www.cnblogs.com/fan ...
最新文章
- ob_get_contents()函数的用法
- 关于生成静态页--终极解决方案
- 《CCIE路由和交换认证考试指南(第5版) (第1卷)》——导读
- 抽象工厂模式 Abstract Factory Pattern
- Javascript第三章创建数组的两种方式第一课
- 4.在屏幕上输出以下图案: * *** ***** ******* ********* *********** ************* *********** *********
- Docker与容器化-04-Docker私有仓库与镜像迁移备份
- JAVA实现邮件发送
- Python视频制作 MoviePy框架的基础使用
- myeclipse取消快捷键
- 什么是DMZ区域,DMZ区域的作用与原理
- 大家好,我是练习时长两年半的LeetCode爱好者,喜欢唱跳rap
- Spring Boot(04)自定义filter
- 内存马涉及基础知识整理
- 拼多多2018校招内推编程题汇总 详解
- SDN/NFV重构下一代网络
- 成绩查询显示服务器未授权,华燕机动车驾驶人考试远程监控系统
- pspice破解完显示 license not found 的解决方法
- 我的育人小故事计算机老师,我的育人小故事(语文组赵娣)
- PCB电路板为什么大多是绿色的?
热门文章
- lambda显式声明返回值
- asp.net2.0跨域问题
- [转载]使用.net 2003中的ngen.exe编译.net程序
- 5 Vim编辑器的使用
- (马世龙)Linux下CACTI完全搭建技术文档二
- 爱立信与中国联通成功完成国内首个LTE三载波聚合大规模部署测试
- Memcached总结三:Memcached常用命令及使用说明
- UML该元素的行为为基础的元素
- [转]打造自己的LINQ Provider(上):Expression Tree揭秘
- 基于Linux的 Open×××网络之网络架构应用实例