1. 演示搭建

说明:本文参考网络日志http://blog.csdn.net/remote_roamer/article/details/51133790,结合实际操作,仅做个演示记录。

1.1. 工具

1、Tomcat两个

2、Memcached

3、Nginx

如图:

1.2. 结果演示

1、打开浏览器访问http://localhost:8080/index.jsp

1.3. 配置

1.3.1. 安装Nginx

1、准备nginx,解压即可

2、配置打开nginx目录下的conf/nginx.conf文件,替换复制如下内容到文件中。

 worker_processes  1;

 events {
worker_connections 1024;
} http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
gzip on;
upstream clusterApp.com {
server 127.0.0.1:18080 weight=1;
server 127.0.0.1:28080 weight=2;
} server {
listen 8080;
server_name localhost;
location / {
proxy_pass http://clusterApp.com;
proxy_redirect default;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
} }

1.3.2. 安装Memcached

1、准备Memcached,解压即可

1.3.3. 安装Tomcat

1、准备两个tomcat

2、修改conf/server.xml的端口,可随意设置,只要保证两个tomcat可以正常跑起来。

3、下载memcached需要的jar包放到tomcat目录下的conf/lib下。所需jar如下:

说明:
其他版本下载链接(来自网络日志http://blog.csdn.net/remote_roamer/article/details/51133790) #下载 memcached-session-manager jars to tomcat
http://repo1.maven.org/maven2/de/javakaffee/msm/memcached-session-manager/1.9.5/memcached-session-manager-1.9.5.jar
http://repo1.maven.org/maven2/de/javakaffee/msm/memcached-session-manager-tc8/1.9.5/memcached-session-manager-tc8-1.9.5.jar # 使用memcached 的时候要用到的jar文件
http://repo1.maven.org/maven2/net/spy/spymemcached/2.11.1/spymemcached-2.11.1.jar # 使用javolution-serializer的时候用到的jar文件下载
http://repo1.maven.org/maven2/de/javakaffee/msm/msm-javolution-serializer/1.9.5/msm-javolution-serializer-1.9.5.jar
http://www.java2s.com/Code/JarDownload/javolution/javolution-5.5.1.jar.zip # 下面是使用kryo-serializer的时候用到的jar文件下载
http://repo1.maven.org/maven2/de/javakaffee/msm/msm-kryo-serializer/1.9.5/msm-kryo-serializer-1.9.5.jar
http://repo1.maven.org/maven2/de/javakaffee/kryo-serializers/0.9/kryo-serializers-0.9.jar #(相配合的kryo只能用3.+的版本。)
http://repo1.maven.org/maven2/com/esotericsoftware/kryo/3.0.3/kryo-3.0.3.jar
http://repo1.maven.org/maven2/com/esotericsoftware/minlog/1.3.0/minlog-1.3.0.jar
http://repo1.maven.org/maven2/com/esotericsoftware/reflectasm/1.11.3/reflectasm-1.11.3.jar
http://repo1.maven.org/maven2/org/ow2/asm/asm/5.1/asm-5.1.jar

4、在tomcat的conf/contex.xml文件中的context节点下追加如下内容。

<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
sticky="false"
memcachedNodes="n1:localhost:11211"
failoverNodes=""
requestUriIgnorePattern=".*\.(png|gif|jpg|css|js|ico)$"
sessionBackupAsync="false"
sessionBackupTimeout="500"
transcoderFactoryClass="de.javakaffee.web.msm.serializer.javolution.JavolutionTranscoderFactory"
/>

如图:

1.4. 测试jsp文件编写

新建index.jsp文件,放到两个tomcat的webapps/ROOT目录下(或自建项目存放)。内容如下:

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.util.*"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Test</title>
</head>
<body>
<h3>1、显示信息</h3>
<table border="1px">
<tr>
<td>Nginx</td>
<td><% out.println(request.getServerName());%></td>
</tr>
<tr>
<td>Tomcat</td>
<td><% out.println(request.getLocalAddr()+ " : "+request.getLocalPort()); %></td>
</tr>
<tr>
<td>sesion ID</td>
<td><% out.println(session.getId());%></td>
</tr>
<tr>
<td>参数列表</td>
<td>
<%
String dataName = request.getParameter("dataName");
if (dataName != null && dataName.length() > 0) {
String dataValue = request.getParameter("dataValue");
session.setAttribute(dataName, dataValue);
}
System.out.println("Session列表");
Enumeration e = session.getAttributeNames();
while (e.hasMoreElements()) {
String name = (String) e.nextElement();
String value = session.getAttribute(name).toString();
out.println(name + " = " + value + "<br>");
System.out.println(name + " = " + value);
}
%>
</td>
</tr>
</table>
<h3>2、参数设置</h3>
<form action="index.jsp" method="POST">
参数名<input type="text" name="dataName"> <br/>
参数值<input type="text" name="dataValue"> <br/>
<input type="submit" value="提交">
</form>
</body>
</html>

1.5. 启动

1.5.1. 启动Memcached

cmd下,进入安装目录。第一次需要先执行memcached.exe -d install安装,后面直接用memcached.exe -d start启动。示例:

d:

cd  D:\java\tomcatJiQun\memcached

memcached.exe -d install

memcached.exe -d start

memcached.exe -d stop

1.5.2. 启动Nginx

cmd下,进入安装目录。示例:

d:

cd D:\java\tomcatJiQun\nginx-1.13.9

start nginx

nginx -s stop

注意:

1、也可以通过启动安装目录下nginx.exe启动时候,可能出现闪退现象。此时查看nginx安装目录下的error.log看看是否有错误日志,或者检查任务管理器是否有nginx的后台进程存在。如下图:

常用命令说明:

验证配置是否正确: nginx -t

查看Nginx的版本号:nginx -V

启动Nginx:start nginx

快速停止或关闭Nginx:nginx -s stop

正常停止或关闭Nginx:nginx -s quit

配置文件修改重装载命令:nginx -s reload

1.5.3. 启动Tomcat

直接点击startup.bat启动两个tomcat。

1.6. 访问

打开浏览器访问url:http://localhost:8080/index.jsp

需要下载演示包 " tomcatJiQun.rar " 的朋友看这里 链接:https://pan.baidu.com/s/1i5XTaEL 密码:w8el

下载后解压到 D:\java下即可。

Nginx+Tomcat+Memcached负载均衡和session共享的更多相关文章

  1. Nginx+Tomcat+memcached负载均衡实现session共享

    http://blog.csdn.net/love_ubuntu/article/details/8464983 1.  安装各个软件不用说了. 2.  到tomcat的安装目录lib中,加入: me ...

  2. nginx+tomcat+redis负载均衡及session共享

    概述 本文档是用来详细描述 nginx+tomcat+redis负载均衡实现session共享 所需软件及下载地址 软件名称 下载地址 功能说明 Nginx-v1.6.0 http://nginx.o ...

  3. nginx+tomcat实现负载均衡以及session共享(linux centos7环境)

    一.nginx的安装 1.准备三份tomcat tomcat1 设置端口 8080 tomcat2 设置端口 8081 tomcat3 设置端口 8082 2. 下载nginx 3. 解压到/home ...

  4. haproxy+tomcat实现负载均衡以及session共享(linux centos7环境)

    一.安装HAProxy 1.进入home目录,下载最新haproxy安装包. cd /home wget http://haproxy.1wt.eu/download/1.4/src/haproxy- ...

  5. Nginx+Tomcat+Memcached负载均衡集群服务搭建

    操作系统:CentOS6.5  本文档主要讲解,如何在CentOS6.5下搭建Nginx+Tomcat+Memcached负载均衡集群服务器,Nginx负责负载均衡,Tomcat负责实际服务,Memc ...

  6. nginx之 nginx + tomcat + redis 负载均衡且session一致性

    说明: 本文描述的是 nginx + tomcat + redis 实现应用负载均衡且满足session一致性,从安装到配置的全部过程,供大家学习!nginx 代理服务器ip: 10.219.24.2 ...

  7. Nginx+Tomcat+Memcache实现负载均衡及Session共享

    第一部分 环境介绍 部署环境: Host1:Nginx.Memcached.Tomcat1 Host2:Tomcat2 Tomcat_version:8.0.38 第二部分 Nginx+Tomcat实 ...

  8. Nginx+Tomcat8+Memcached实现负载均衡及session共享

    1> 基础环境 简易拓扑图: 2> 部署Tomcat [root@node01 ~]# ll -h ~ |egrep 'jdk|tomcat'-rw-r--r-- 1 root root ...

  9. keepalived+nginx+tomcat+redis实现负载均衡和session共享(原创)

    keepalived+nginx+tomcat+redis实现负载均衡和session共享 直接上链接,码了一天,就不再重写了,希望能帮到大家,有问题欢迎留言交流.

随机推荐

  1. 关于Qt模态框总汇

    转载请注明出处:http://www.cnblogs.com/dachen408/p/7285710.html 父窗体为QMainWindow: 当子窗体为: 1.QWidget,需要设置 this- ...

  2. Win10浏览器Spartan无法全屏

    昨天尝鲜win10 Build 10074 msdn pro版,新版微软吹嘘的Spartan浏览器看视频是无法像IE一样全屏的.网上搜索了一下也没有解决方法.不过看到一个可以打开隐藏设置实验功能的方法 ...

  3. 【4412开发板使用经验分享】迅为4412开发板I2C驱动问题

    本文转自迅为论坛:bbs.topeetboard.com 我想写DS3231 的驱动 但是读回的数据老是-6 硬件: 我I2C设备连接的这几个GPIO,看了2.5的手册,接口应该是链接正确的 软件 分 ...

  4. swift class type isa-swizzling

    class 是引用类型,生成的实例分布在 Heap(堆) 内存区域上,在 Stack(栈)只存放着一个指向堆中实例的指针.因为考虑到引用类型的动态性和 ARC 的原因,class 类型实例需要有一块单 ...

  5. web.xml的简单解释以及Hello1中web.xml的简单分析

    一.web.xml的加载过程 ①当我们启动一个WEB项目容器时,容器包括(JBoss,Tomcat等).首先会去读取web.xml配置文件里的配置,当这一步骤没有出错并且完成之后,项目才能正常的被启动 ...

  6. win下配置qt creator 能够执行c/c++

    首先需要相关包共四个: qt-win-opensource-4.8.5-mingw.exe qt-creator-windows-opensource-2.8.1.exe MinGW-gcc440_1 ...

  7. 05EXtensible Stylesheet Language

    1. EXtensible Stylesheet Language 1. EXtensible Stylesheet Language XSL 指扩展样式表语言(EXtensible Styleshe ...

  8. 基于js插件的文件上传

    <?php /** * Created by PhpStorm. * User: GyCCo. * Date: 05/02/2018 * Time: 4:46 PM */ session_sta ...

  9. python 语法之 装饰器decorator

    装饰器 decorator 或者称为包装器,是对函数的一种包装. 它能使函数的功能得到扩充,而同时不用修改函数本身的代码. 它能够增加函数执行前.执行后的行为,而不需对调用函数的代码做任何改变. 下面 ...

  10. [Algorithm] 2. Trailing Zeros

    Description Write an algorithm which computes the number of trailing zeros in n factorial. Example 1 ...