memcached 以及 session-server部署

memcached以及session-server

准备环境

准备两台能响应动态资源的服务器(本试验使用tomcat7.XX版本)以及一台nginx调度服务器

安装memcached

yum install memcached
  • memcached配置介绍:

    1. 由CentOS 7 base仓库直接提供

    2. 监听的端口:11211/tcp, 11211/udp

    3. 主程序:/usr/bin/memcached

配置文件:/etc/sysconfig/memcached

Unit File:memcached.service

  1. 协议格式:memcached协议

文本格式和二进制格式

使用 memcached 配置 session-server (序列化工具选用 javolution )

memcached-session-manager项目地址

http://code.google.com/p/memcached-session-manager

https://github.com/magro/memcached-session-manager

下载如下jar文件至各tomcat节点的tomcat安装目录下的lib目录中

  • 其中的 versiontc {6,7,8}要换成与tomcat版本相同的版本号。

    memcached-session-manager-${version}.jar

    memcached-session-manager-tc 6,7,8 {version}.jar

    spymemcached-${version}.jar

    msm-javolution-serializer-${version}.jar

    javolution-${version}.jar

分别在两台tomcat服务主机上准备所需依赖文件

访问 http://repo1.maven.org/maven2/de/javakaffee 站点下载所需的 “.jar” 文件

  1. 因为使用的是memcached,首先需要下载 spymemcached-2.11.1.jar 文件

  2. 下msm主程序文件 :memcached-session-manager-1.8.3.jar文件

访问http://repo1.maven.org/maven2/de/javakaffee/msm/memcached-session-manager

  1. 下载msm主程序文件:memcached-session-manager-tc7-1.8.3.jar

访问 http://repo1.maven.org/maven2/de/javakaffee/msm/memcached-session-manager-tc7

  1. 下载序列化工具文件: msm-javolution-serializer-1.8.3.jar 和 javolution-5.4.3.1.jar

或者访问http://repo1.maven.org/maven2/de/javakaffee/msm/msm-javolution-serializer

将下载好的文件放置在memcached的类文件目录下

如果tomcat是使用yum安装的,则类文件存放目录为 /usr/share/java/tomcat ,如果是用二进制标准压缩包安装的tomcat,其类文件在解压后的程序包的 lib 目录下。

配置tomcat主配置文件,两台tomcat服务器配置内容类似

#配置test应用
mkdir -pv /usr/share/tomcat/webapps/test/{WEB-INF,META-INF,lib,classes}
vim /usr/share/tomcat/webapps/test/
<%@ page language="java" %>
<%@ page import="java.util.*" %>
<html>
    <head><title>Tomcat A</title></head>
    <body>
        <h1><font color="red">Tomcat Server A</font></h1>
        <table align="centre" border="1">
            <tr>
                <td>Session ID</td>
                <% session.setAttribute("achudk.com","achudk.com"); %>
                <td><%= session.getId() %></td>
            </tr>
                <td>Created on</td>
                <td><%= session.getCreationTime() %></td>
            </tr>
                </table>
            <br>
                <% out.println("hello tc1");
                %>
    </body>
</html>

#修改tomcat主配置文件
vim /etc/tomcat/server.xml
#在<Host>配置段下增加一个Context段,如下:
<Context path="/test" docBase="test" reloadable="true">
    <Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
        memcachedNodes="m1:172.16.50.11:11211,m2:172.16.50.12:11211"
        failoverNodes="m2"
        requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$"
        transcoderFactoryClass="de.javakaffee.web.msm.serializer.Javolution.JavolutionTranscoderFactory"
    />
</Context>
  • 启动tomct服务,测试tomcat的test应用是否能够正常提供服务
#查看当前tomcat程序的类文件目录
rpm -ql tomcat-lib
#类文件目录为 /usr/share/java/tomcat 目录

cd /usr/share/java/tomcat
#将下载好的 ".jar" 文件放置在此位置
mv memcached-session-manager-1.8.3.jar memcached-session-manager-tc7-1.8.3.jar msm-javolution-serializer-1.8.3.jar spymemcached-2.11.1.jar jjavolution-5.4.3.1.jar /usr/share/java/tomcat

配置nginx调度器

vim /etc/nginx/conf.d/proxy_tomcat.conf
#内容如下
upstream tcsrvs {
        server 172.16.50.11:8080;
        server 172.16.50.12:8080;
}

server {
        listen 80;
        server_name 172.16.50.7;

        location / {
                proxy_pass http://tcsrvs;
        }
}

启动nginx服务、启动memcached服务 并重启tomcat服务,验证效果。

访问http://172.16.50.7:8080/test/,结果为

#
Tomcat Server A
Session ID  67FB8590C1DC933795BF7FD999CF106E-n1
Created on  1500705152610
hello tc1

#
Tomcat Server B
Session ID  67FB8590C1DC933795BF7FD999CF106E-n1
Created on  1500705152610
hello tc2
  • 验证结果:调度到两台tomcat服务器,会话ID一致。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值