zoukankan      html  css  js  c++  java
  • tomcat8+memcached session共享

    一、环境准备

    时间同步(同步后确认各服务器时间是否一致,不一致需要修改一下时区)

    关闭防火墙

    软件包和jar包链接:https://pan.baidu.com/s/1sl9Nob7

    二、安装配置nginx和memcached

    Nginx和memcached使用yum安装即可,下面是nginx配置文件内容

    user  nginx;
    worker_processes  1;
    
    
    events {
        worker_connections  1024;
    }
    
    
    http {
        include       mime.types;
        default_type  application/octet-stream;
    
        log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                          '$status $body_bytes_sent "$http_referer" '
                          '"$http_user_agent" "$http_x_forwarded_for"';
        sendfile        on;
        tcp_nopush     on;
        keepalive_timeout  65;
        gzip  on;
        upstream tomcat-web {
          server 192.168.0.14:8080;
          server 192.168.0.15:8080;
           }
        server {
            listen       80;
            server_name  www.tomcat.com;
    
    
            location / {
                root   html;
                index  index.html index.htm index.jsp;
            }
            location ~* .(jsp|do)$ {
                    proxy_pass http://tomcat-web;
                    proxy_redirect off;
                    proxy_set_header Host $host;
                    proxy_set_header X-Real-IP $remote_addr;
                    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                    proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
                       }
           location /nginx_status {
                    stub_status on;
                    access_log off;
                    allow 192.168.0.0/24;
                    deny all;
                    }
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                root   html;
            }
        }
    }
                                                    
    nginx.conf

    分别启动nginx和memcached

    三、安装配置tomcat

    安装步骤忽略

    下载jar包至各tomcat节点的tomcat安装目录下的lib目录中

    分别在两个tomcat上的某host上定义一个用于测试的context容器,并在其中创建一个会话管理器,如下所示:

    [root@tomcat-server-1 ~]# 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:192.168.0.12:11211,n2:192.168.0.13:11211" #n1代表memcached的名称,后面为具体的ip地址
                         failoverNodes="n1"
                         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>

    提供测试页面

    tomcat-server-1

    [root@tomcat-server-1 lib]# mkdir -pv /usr/local/tomcat/webapps/test/WEB-INF/{classes,lib}
    [root@tomcat-server-1 lib]# vim /usr/local/tomcat/webapps/test/index.jsp
    <%@ page language="java" %>
    <html>
      <head><title>TomcatA</title></head>
      <body>
        <h1><font color="red">TomcatA</font></h1>
        <table align="centre" border="1">
          <tr>
            <td>Session ID</td>
        <% session.setAttribute("tomcat","tomcat"); %>
            <td><%= session.getId() %></td>
          </tr>
          <tr>
            <td>Created on</td>
            <td><%= session.getCreationTime() %></td>
         </tr>
        </table>
      </body>
    </html>

     tomcat-server-2

    [root@tomcat-server-2 lib]# mkdir -pv /usr/local/tomcat/webapps/test/WEB-INF/{classes,lib}
    [root@tomcat-server-2 lib]#  vim /usr/local/tomcat/webapps/test/index.jsp
    <%@ page language="java" %>
    <html>
      <head><title>TomcatB</title></head>
      <body>
        <h1><font color="blue">TomcatB</font></h1>
        <table align="centre" border="1">
          <tr>
            <td>Session ID</td>
        <% session.setAttribute("tomcat","tomcat"); %>
            <td><%= session.getId() %></td>
          </tr>
          <tr>
            <td>Created on</td>
            <td><%= session.getCreationTime() %></td>
         </tr>
        </table>
      </body>
    </html>

    重启两台tomcat,并用浏览器进行访问

    测试结果,在浏览器中访问http://www.tomcat.com/test/index.jsp,结果如上所示,其session ID在负载均衡环境中保持不变。

  • 相关阅读:
    android activity状态保存
    android的5个进程等级
    android什么时候会产生ANR
    android压力测试monkey简单使用
    CodeIgniter学习笔记五:分页,文件上传,session,验证码
    CodeIgniter学习笔记四:CI中的URL相关函数,路由,伪静态,去掉index.php
    Scrapy使用示例
    CodeIgniter学习笔记三:扩展CI的控制器、模型
    Queries for Number of Palindromes(区间dp)
    Dungeon Master(三维bfs)
  • 原文地址:https://www.cnblogs.com/panwenbin-logs/p/8157757.html
Copyright © 2011-2022 走看看