tomcat-session-memcached

tomcatA-vm1:172.16.3.2/16
tomcatB-vm2:172.16.3.3/16
apache+mysql-vm3:172.16.3.10/16
memcached-vm4:172.16.3.20/16
测试机:172.16.255.109/16

一、tomcat-vm1:172.16.3.2/16
1、tomcat基础安装
    官网:tomcat.apache.org
包:
    jdk-7u9-linux-x64.rpm
    apache-tomcat-7.0.42.tar.gz
    (1)安装jdk环境
        # rpm -ivh jdk-7u9-linux-x64.rpm
        指定java路径(使用方便)
        # vim /etc/profile.d/java.sh

JAVA_HOME=/usr/java/latest
        PATH=$JAVA_HOME/bin:$PATH
        export JAVA_HOME PATH
                ~                      
        # . /etc/profile.d/java.sh

[[email protected] jdk1.7.0_09]# java -version    运用下是否能正常使用
        java version "1.7.0_09"
        Java(TM) SE Runtime Environment (build 1.7.0_09-b05)  
        Java HotSpot(TM) 64-Bit Server VM (build 23.5-b02, mixed mode)   java模式是运行在mixed客户和服务器端

(2)安装tomcat
    # tar xf apache-tomcat-7.0.42.tar.gz -C /usr/local
    # cd /usr/local/apache-tomcat-7.0.42
    # ln -sv apache-tomcat-7.0.42/ tomcat   做个连接文件
    # vim /etc/profile.d/tomcat.sh 指定tomcat路径

export CATALINA_HOME=/usr/local/tomcat
    export PATH=$CATALINA_HOME/bin:$PATH
    # . /etc/profile.d/tomcat.sh   
    # catalina.sh configtest    检测配置文件脚本等有没有错误。
    # catalina.sh start 启动tomcat

测试:
http://172.16.3.2:8080 默认是监听在8080端口。
   (3)定义启动脚本 (复杂的脚本可以yum安装后查看脚本文件)
        # chkconfig --add tomcat
        # chkconfig --list tomcat
        tomcat             0:off    1:off    2:on    3:on    4:on    5:on    6:off   
        # service tomcat restart
2、修改配置文件
    # vim /usr/local/tomcat/conf/server.xml
     <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">    指定默认的站点位置

<Context path="/test" docBase="/usr/local/tomcat/webapps/test" reloadable="true">   配置/test测试目录
       <Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
        memcachedNodes="n1:172.16.3.20:11211"     指定memcached的地址和端口
        requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$"   session缓存什么格式的网站
        transcoderFactoryClass="de.javakaffee.web.msm.serializer.javolution.JavolutionTranscoderFactory"/>

</Context>
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log." suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />

</Host>
      <Host name="www.ning1.com"  appBase="/ning"   指定网站自定义的站点
            unpackWARs="true" autoDeploy="true">
        <Context path="" docBase="/ning"/>
      </Host>
3、提供测试/test下的jsp站点
    # mkdir -pv /usr/local/tomcat/webapps/test/WEB-INF/{classes,lib}
    # vim /usr/local/tomcat/webapps/test/index.jsp
    添加如下内容:
    <%@ page language="java" %>
    <html>
      <head><title>TomcatA</title></head>
      <body>
        <h1><font color="red">TomcatA.magedu.com</font></h1>
        <table align="centre" border="1">
          <tr>
            <td>Session ID</td>
        <% session.setAttribute("magedu.com","magedu.com"); %>
            <td><%= session.getId() %></td>
          </tr>
          <tr>
            <td>Created on</td>
            <td><%= session.getCreationTime() %></td>
         </tr>
        </table>
      </body>
    </html>
二、tomcatB-vm2:172.16.3.3/16
    1、tomcat安装和上面是一样的编译安装这里不再次说明
    2、修改配置文件:
    # vim /usr/local/tomcat/conf/server.xml
        <Host name="localhost"  appBase="webapps"
                unpackWARs="true" autoDeploy="true">
        <Context path="/test" docBase="/usr/local/tomcat/webapps/test" reloadable="true">
         <Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
          memcachedNodes="n1:172.16.3.20:11211"
          requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$"
         transcoderFactoryClass="de.javakaffee.web.msm.serializer.javolution.JavolutionTranscoderFactory"/>
        </Context>
            <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
                   prefix="localhost_access_log." suffix=".txt"
                   pattern="%h %l %u %t &quot;%r&quot; %s %b" />

</Host>
           <Host name="www.ning3.com"  appBase="/ning"
                       unpackWARs="true" autoDeploy="true">
            <Context path="" docBase="/ning"/>
         </Host>
        </Engine>   
3、提供测试/test下的jsp站点
    # mkdir -pv /usr/local/tomcat/webapps/test/WEB-INF/{classes,lib}
    # vim /usr/local/tomcat/webapps/test/index.jsp
    添加如下内容:
    <%@ page language="java" %>
    <html>
      <head><title>TomcatB</title></head>
      <body>
        <h1><font color="blue">TomcatB.magedu.com</font></h1>
        <table align="centre" border="1">
          <tr>
            <td>Session ID</td>
        <% session.setAttribute("magedu.com","magedu.com"); %>
            <td><%= session.getId() %></td>
          </tr>
          <tr>
            <td>Created on</td>
            <td><%= session.getCreationTime() %></td>
         </tr>
        </table>
      </body>
</html>
三、apache+mysql-vm3:172.16.3.10/16
1、apache代理配置
    # yum install httpd mysql mysql-server
    # vim /etc/httpd/conf/httpd.conf (开启虚拟主机功能,再次不做声明)
     <Proxy balancer://tomcat1>                                指定代理组
        BalancerMember http://www.ning1.com:8080/ning loadfactor=1
        BalancerMember http://www.ning3.com:8080/ning loadfactor=1
        ProxySet lbmethod=byrequests               指定调度算法
    </Proxy>
    <VirtualHost *:80>                    指定第一个虚拟主机
    ServerName www.liang.com                 指定虚拟主机的server名称
    ProxyVia Off                           不在响应报文的首部添加via信息
    ProxyRequests Off                        关闭正向代理
    ProxyPreserveHost On                        开启支持tomcat虚拟主机功能
    ProxyPass / balancer://tomcat1/               指定虚拟主机的URL,(这里知道哪个的代理组)
    ProxyPassReverse /  balancer://tomcat1/
    <Proxy * >                          允许所有访问代理权限(在apache2.4后需要添加)
        Order Allow,Deny
        Allow from all
    </Proxy>
    </VirtualHost>

<VirtualHost *:80>                   指定第二个虚拟主机
    ServerName www.hong.com
    ProxyVia Off
    ProxyRequests Off
    ProxyPreserveHost On
    ProxyPass / balancer://tomcat/
    ProxyPassReverse /  balancer://tomcat/
    <Proxy * >
        Order Allow,Deny
        Allow from all
    </Proxy>
    </VirtualHost>
    <Proxy balancer://tomcat>                       指定 代理组
        BalancerMember http://172.16.3.2:8080 loadfactor=1       指定后端tomcat和权重
        BalancerMember http://172.16.3.3:8080 loadfactor=1
        ProxySet lbmethod=byrequests          指定调度算法
    </Proxy>
2、mysql配置(主要是为了配置的网站虚拟主机www.liang.com中的网站提供)

授权:
    > grant all on ning.* to [email protected]‘172.16.3.%‘ identified by ‘ning‘;
    > flush privilieges;
    > create database ning;
四:memcached-vm4:172.16.3.20/16
    # yum install memcached
    # service memcached start
    # ss -tnl (查看是否开启memcached的端口11211端口)
五、测试:
    1、http://www.liang.com


    2、http://www.hong.com/test(图)

时间: 2024-11-04 12:58:16

tomcat-session-memcached的相关文章

tomcat session会话保持实验-之Nginx+tomcat+memcached

tomcat session会话保持实验-之Nginx+tomcat+memcached 实验要求 1.nginx+tomcat 负载均衡 2.memcached 会话保持 实验拓扑   ip网络规划 Nginxnode2:172.16.76.20 tomcatAnode3:172.16.76.30  memcached tomcatBnode4:172.16.76.40  memcached 基础配置   node2 [[email protected]~]# yum install ngin

实战项目memcached+tomcat+session+nginx在工作中的应用和配置

环境介绍:公司根据实际需要搭建一个购物网站,当用户购物时可以 将不同商品,放到同一个购物车中进行同时付款. 环境的搭建: 外网用户  IP地址:1.1.1.1  主机名:fanxiaohui  用户访问网站http://www.taobao.com 使用nginx实现负载均衡,由于网页是用JAVA开发的所以选用tomcat搭建网站服务,由于用户在购物时http是一个无状态的协议,不同的商品都是一个新的连接,默认不会把几个商品放到同一个购物车中,无法进行统一结账,为了能使服务器能够认识是同一个客户

Nginx反代至Tomcat基于memcached的session保持

实现功能:基于前面tomcat基础简介与示例文章 (1) tomcat cluster将会话保存至memcached中:实现模型: 这里写图片描述 配置B,C主机安装openjdk与tomcat[本次均使用yum安装]配置tomcat的server.xml文件在host配置段中加入<Context path="/test" docBase="test" reloadable="true"> #指定实例的目录 <Manager c

Memcached + MSM 实现Tomcat Session保持

Memcached + MSM 实现Tomcat Session保持 tomcat memcached 大纲 前言 Memcached介绍 MSM介绍 实验拓扑 实验环境 实验步骤 安装配置Tomcat 安装配置Nginx负载均衡 安装配置Memcached + MSM 总结 前言 上篇文章我们实现了session sticky和session cluster实现用户session的保持, 这篇文章主要介绍使用Memcached + MSM来实现用户session的保持 Memcached介绍

搭建nginx + tomcat + mysql + memcached 环境.

拓普图如下 java程序 需要 运行在tomcat上, tomcat 就是一个java程序. 这个java程序,是需要运行在java的虚拟机上. 所以,我们要在安装tomcat的节点上,安装java虚拟机,即安装jdk环境. 在172.16.26.5 [6 ] 两个集群节点上都装上memcached服务. 以及tomcat服务. 由172.16.26.1使用nginx作为调度节点. 172.16.26.1 nginx 的配置 upstream www.tomcat1.com { server 1

Tomcat结合memcached实现sessio共享

Tomcat 使用memcached 实现session共享 系统环境: Centos6.5 x86_64 同台服务器上使用两个tomcat实例 安装jdk1.7 安装tomcat8.0.27 安装memcached yum install yum install java-1.7.0-openjdk.x86_64 java-1.7.0-openjdk-devel.x86_64 memcached -y 下载并安装tomcat8 wget http://mirrors.hust.edu.cn/a

基于memcached-session-manager的tomcat session共享集群

MSM的特性: a.支持tomcat 6,tomcat 7,tomcat 8 b.支持sticky session或no-sticky session c.无单点故障 d.tomcat故障转移 e.memcached故障转移 f.附带串行化插件 g.支持异步session存储,拥有更快的性能 sticky sessions粘性会话: 安装了MSM的tomcat会优先使用本机内存保存session,当一个请求结束后,MSM会把session发送到memcached节点上存放以作备份,第二次请求时,

memcached-session-manager 实现 tomcat session共享

原理 MSM(memcached-session-manager) 支持tomcat6 和tomcat7 ,利用 Value(Tomcat 阀)对Request进行跟踪.Request请求到来时,从memcached加载session,Request请求结束时,将tomcat session更新至memcached,以达到session共享之目的, 支持 sticky  和 non-sticky 模式. Sticky 模式:tomcat session 为 主session, memcached

tomcat session server实现会话绑定

tomcat session server 此前已经进行过Tomcat的其他配置信息,这里不再进行重复的描述,会把重要的地方写上,不会影响实验 要想能够实现追踪有状态的web apps,对应的状态信息,有三种方式 session stickysession replication clustersession server 这里实现session server的实现方式 memcached可以借助于第三方的项目所提供的功能,实现使用memcached保存用户的session信息,项目称为MSM,

tomcat和memcached

一.tomcat运行环境 tomcat是JAVA虚拟机上的运行的一个程序,所以在安装tomcat之前需要安装JAVA的运行环境,tomcat是用来接收并相应用户的请求 JVM:将所有系统上的不同接口全部转换成统一的编程接口,从而实现一次编译到处运行 JRE:包含一些库文件和启动代码的工具环境,包含JVM JDK:完整的基本环境,包含调试工具 JSP:根据客户端的不同,将代码在服务器段执行并将结果返回给客户端 软件包安装 yum安装,直接根据依赖关系安装所需要的jsp和servlet两个所需要的组