网站做第三方支付,网站搭建流程图,网站建设的种类,大联盟平台推广用memcached实现session共享一、简介1#xff09;Memcached简介#xff1a;是一种高性能的分布式缓存服务器#xff1b;一般的使用目的是#xff0c;通过“缓存数据” 查询结果#xff0c;减少数据访问次数#xff0c;以提高动态web应用的速度#xff1b;开源且垮平台的… 用memcached实现session共享一、简介1Memcached简介是一种高性能的分布式缓存服务器一般的使用目的是通过“缓存数据” 查询结果减少数据访问次数以提高动态web应用的速度开源且垮平台的。memcached支持许多平台:LinuxFreeBSDSolarisMac OS XWindows特点通过增长因子解决存储数据的空间浪费问题只提供存储数据的空间数据存与取由客户端自己完成2什么是session 客户端从打开浏览器到关闭浏览器结束对网站的访问的过程就称为一个session但http是一个无状态的连接协议session信息存储在服务器端保存用户信息,用户名密码等cookies 信息是服务器下发给客户端的并保存咋客户端的一个文件里保存的内容主要包括、SessionID、账号名过期时间路径和域二、案列 我们构建2台memcached 服务一台做主一台做从防止主down掉时从服务器可以继续工作192.168.1.40和192.168.1.50 配置2台web服务器用tomcat做服务使用java语言测试页面192.168.1.20和192.168.1.30 配置一台nginx代理服务器192.168.1.11、memcached服务器的搭建1 memcached服务需要用到事件库要安装事件库libevent#tar -zxvf libevent-2.0.15-stable.tar.gz#cd libevent-2.0.15-stable#./configure#make make install 这里用的是源码包安装源码包的软件源码包安装四部走解压--配置--编译--安装安装完成后默认安装目录在/usr/local下我们要把自己安装的事件库让系统识别,用下面命令#echo /usr/local/lib/etc/ld.so.conf.d/libevent.conf#ldconf//马上生效无需重启#ldconf -v |grep --color libevent//检查一下配置是否成功2安装memcached#tar -zxvf memcached-1.4.5.tar.gz # cd memcached-1.4.5#./configure # make#make install//同样的源码包安装四步安装完memcached之后会在/usr/local下的bin目录下生成memcached的启动脚本#cd /usr/local/bin/memcached的启动参数-h 查看帮助信息-p 指定memcached监听的端口号 默认11211 -l memcached服务器的ip地址 默认所有地址-u memcached程序运行时使用的用户身份 必须 是root用户-m 指定使用本机的多少物理内存 存数据 默认64M-c memcached服务的最大链接数-vvv 显示详细信息-n chunk size 的最小空间是多少 单位 字节-f chunk size大小增长的倍数 默认 1.25倍-d 在后台启动启动memcached服务#usr/local/bin/memcached -u root -m 200M -c 200 -n 10 -f 2 -vvv -d#netstat -utuanlp | grep :11211//查看一下启动状态默认端口11211#pkill -9 memcached //关闭服务用杀进程的方式3测试memcached[rootlocalhost bin]# telnet localhost 11211Trying 127.0.0.1...Connected to localhost.localdomain (127.0.0.1).Escape character is ^].//用telnet来测试11211口set age 0 180 210STORED//出现这样的字样表示成功get ageVALUE age 0 210ENDquitConnection closed by foreign host.参考第一台memcached服务器的搭建过程搭建另外一台memcached服务器2、部署tomcat网站服务器1安装jdk (linux ---------- jdk ------- tomcat) jdk Java Development Kits,Java开发工具用jdk-6u27-linux-i586包实现linux与tomcat的“沟通”---对应的包jdk-6u27-linux-i586.bin tomcat运行环境包#chmod x jdk-6u27-linux-i586.bin#./jdk-6u27-linux-i586.bin //直接运行即可#mv jdk1.6.0_27 /usr/local/jdk#vim /etc/bashrc//定义环境变量export JRE_HOME/usr/local/jdkexport JAVA_BIN/usr/local/jdk/binexport PATH$JRE_HOME/bin:$PATHexport CLASSPATH.:$JRE_HOME/lib/dt.jar:$JRE_HOME/lib/tools.jarexport JRE_HOME JAVA_BIN PATH CLASSPATH[rootwww ~]# source /etc/bashrc//初始化环境变量验证jdk#java -version2安装tomcat#tar -zxvf apache-tomcat-6.0.32.tar.gz -C /usr/local/#mv apache-tomcat-6.0.32/ tomcat目录bin 服务启动脚本lib 库文件logs 日志文件Work模块配置文件目录conf tomcat配置文件目录webapps/ROOT 网页目录启动tomcat#cd /usr/local/tomcat/bin/[rootwww bin]# ./startup.sh 启动服务 脚本#netstat -unalp | grep :8080 tomcat 默认监听8080端口[rootwww bin]# ./shutdown.sh 停止服务脚本客户端访问http://server_ip:80803配置tomcat支持memcached让客户端把session_id 保存到memcached服务上。在tomcat上部署msm安装 连接memcached服务器的连接工具 msm组件 安装完之后cd到session目录下#cd session#cp *.jar /usr/local/tomcat/lib/ //把所有以jar结尾的拷贝到tomcat的lib目录下编辑tomcat的配置文件设置主从memcached服务器#cd /usr/local/tomcat/conf/#vim context.xmlcontext Manager classNamede.javakaffee.web.msm.MemcachedBackupSessionManager memcachedNodesmemA:192.168.1.40:11211,memB:192.168.1.50:11211 failoverNodesmemB REQUESTuRILGNOREpATTERN.*\(ico|png|gif|jpg|css\)$ transcoderFactoryClassde.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory//context以同样的方式部署另外一台tomcat服务器并且分别创建一个java测试页分别调用各自的sessionID的值以作后面的检测用使效果更明显test.jsphtml body bgcolorgreen center % request.getSession().getId() % h1192.168.1.101/h1 /center /body/html可以在另外一台tomcat服务器上把测试页的背景颜色bgcolorgreen改一下测试效果明显3配置nginx反向代理:把用户访问网站的请求以轮询的方式分发给后端的2台tomcat服务器。#vim /usr/local/ngix/conf/nginx.confupstream sergrp{//定义源服务器组名字可自由发挥server 192.168.1.30:8080server 192.168.1.20:8080} http{server {server_name www.tarena.comlocation / {... ...proxy_pass http://sergrp;//调用前面定义的服务组} }}4测试在客户端浏览器上输入代理服务器的ip地址之后显示后端的tomcat服务器的页面接着刷新一下显示的是另外一个后端tomcat服务器的页面两张页面的sessionID的值是相同的代表部署成功思路1、nginx 反向代理 把用户房费自己请求分发给后台的2台tomcat服务器端口8080 2、配置tomcat服务器 192.168.1.30:8080 192.168.1.20:80803、部署2台memcached服务4、让tomcat把sessionID存放到memcached里没配置之前测试会发现session在变 服务器也在变配置安装连接工具编写配置文件连接memcached服务器context.xmmsm组件contextmanager ..../context此时再测试会发现session不变服务器在变 转载于:https://blog.51cto.com/xujpxm/1393084