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 节点都要放

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 保持不变

转载于:https://www.cnblogs.com/AloneSword/p/4481964.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/405895.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

实验二十四、OSPF 在NBMA 环境中点到点的配置

实验二十四、OSPF 在NBMA 环境中点到点的配置 一、 实验目的 1. 掌握NBMA 环境中点到点的配置 2. 理解NBMA 环境中点到点网络类型的意义 二、 应用环境 在帧中继的网络中&#xff0c;OSPF 的路由更新不能正常进行&#xff0c;需要配置点到点的网络类型保证OSPF 协议的正常运行…

ad从2003升级到2008总结

一、升级前要在2003域控运行adprep命令来扩展2003森林架构和域架构 &#xff08;adprep命令在2008 r2安装光盘的support\adprep目录。需要将其复制到2003域控中&#xff09; 源2003 server为64位&#xff1a;adprep.exe 源2003 server为32位&#xff1a;adprep32.exe 转载于:h…

在Xcode6中搭建Python开发环境

http://jingyan.baidu.com/article/f71d60379c73001ab741d14e.html 对于使用Mac电脑&#xff0c;刚入门Python的同学&#xff0c;一定很好奇是不是可以使用Xcode这款IDE工具集成学习Python语言&#xff0c;答案是Yes&#xff01;网络中有很多使用Xcode5搭建的帖子&#xff0c;现…

设计模式心得:三——命令模式

继续设计模式心得体验——命令模式。 命令模式&#xff1a; 将一个请求封装为一个对象&#xff0c;从而使你可用不同的请求对客户进行参数化&#xff1b;对请求排队或记录请求日志&#xff0c;以及支持可撤销的操作。 一般在命令模式中有三个元素&#xff0c;invoker、command、…

React开发(186):react 父调用子组件的方法

<BaseTableSearchsearchParams{baseSearchParams}onSearch{this.handleSearch}onRef{(node) > (this.searchRef node)}highSearch{true}/>

linux命令行快捷键

2019独角兽企业重金招聘Python工程师标准>>> 转自&#xff1a;http://os.chinaitzhe.com/linux/2008-01/119926636930912.html history 显示命令历史列表 ↑(Ctrl p) 显示上一条命令 ↓(Ctrl n) 显示下一条命令 !num 执行命令历史列表的第num条命令 !! 执行上一条…

php css布局技巧,最全的CSS开发常用技巧

css(层叠样式表)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS不仅可以静态地修饰网页&#xff0c;还可以配合各种脚本语言动态地对网页各元素进行格式化。CSS 能够对网页中元素位置的排版进行像素级精确控制&…

jQuery实现响应式瀑布流 - 实现灯箱效果

在这之前&#xff0c;有写过一篇关于实现瀑布流的文章&#xff0c;后期有人留言提出需要添加灯箱效果的功能&#xff0c;所以这次则讲述下如何实现此功能。由于该篇接上篇写的&#xff1a;jQuery实现响应式瀑布流效果&#xff08;jQueryflex&#xff09;_jquery瀑布流插件-CSDN…

VC中设置头文件的搜索路径~~

From:http://hi.baidu.com/woaimuxiaoyizhong/blog/item/cc3d260a9b75f21795ca6b2a.html 近日&#xff0c;小弟在研究UCOS VC版的时候&#xff0c;发现它的头文件并没有在当前目录下&#xff0c;却可以精确的找到。我估计一定是&#xff1a;VC编辑器早设置好了&#xff0c;早已…

php form validator 下单,PHP Form表单验证:PHP form validator使_php

在php网站开发建设中&#xff0c;用户注册、留言是必不可少的功能&#xff0c;用户提交的信息数据都是通过Form表单提交&#xff0c;为了保证数据的完整性、安全性&#xff0c;PHP Form表单验证是过滤数据的首要环节&#xff0c;PHP对表单提交数据的验证方式多种多样&#xff0…

[Objective-c 基础 - 1.3] OC带返回值的类方法

1 /*2 计算器类3 1>返回π4 2>计算两个整数的平方5 3>计算两个整数的和6 */7 8 9 #import <Foundation/Foundation.h> 10 11 interface Calculator: NSObject 12 //方法名:pi 13 - (double) pi; 14 15 //OC方法中&#xff0c;一个参数对应一个冒号: 16 /…

php 最后几个字符,php怎么去掉最后三个字符

在php中&#xff0c;可以利用substr()函数来去掉字符串最后三个字符&#xff0c;该函数可以返回字符串的一部分&#xff1b;具体语法格式为“substr(指定字符串,0,-3)”。本教程操作环境&#xff1a;windows7系统、PHP7.1版&#xff0c;DELL G3电脑php去掉字符串最后三个字符he…

深入react技术栈(12):组件内通信

我是歌谣 放弃很容易 但是坚持一定很酷 微信公众号关注前端小歌谣获取前后端知识 父组件向子组件传值 子组件向父组件传值 跨级组件通信 没有嵌套关系的组件通信 文章参考深入React技术栈

《迷宫》之站立会议—5.15

会议时间&#xff1a;7:10 内容&#xff1a; 还没怎么做&#xff0c;组长有些着急&#xff0c;表示快快做。 转载于:https://www.cnblogs.com/little-clever/p/4505113.html

C#中使用post请求方法请求表单-用于两个网站的交互

网站A中的后台代码&#xff1a; 1 //请求的URL2 HttpWebRequest request WebRequest.Create("http://192.168.1.132:86/test01.aspx") as HttpWebRequest;3 request.Method "po…

Samba服务器(一):windows访问samba服务器共享文件的简单实现(图文并茂)

From:http://linux.chinaunix.net/techdoc/beginner/2009/07/09/1122864.shtml 一、linux的文件共享&#xff08;当然也包括和windows进行文件共享&#xff09;一般有NFS, FTP, SSH SAMB等&#xff0c;但是以samba最为普遍和流行。下面就对samba服务器做个全面的介绍和讲解&…