使用nginx 做负载均衡 memcached处理session共享
环境 windows 7 X64
java : jdk7
nginx : 1.5.0 http://nginx.org/
tomcat :6.37.0 X 3
memecached : http://memcached.org/
一
1 JDK的安装不多说
二 安装tomcat
在一台机器上启动多个TOMCAT : 修改 conf/server.xml 中的三个配置
这里改成三个不同的端口 如 8005,8006,8007
这里也是一样 不同的三个 如 8010,8020,8030
这里也是一样 不同的三个 如 8866,8877,8888
保存之后 分别启动三个TOMCAT 控制台无错误
三 : 安装memcached解压开,打开cmd 进入memcached解压到的路径D:\javaNTM\memcached 输入:
memcached.exe –d install 回车安装windows服务
输入:memcached.exe –p 11211 –d start 回车启动memcached服务 -p 表示端口
四:安装Nginx
下载解压,打开cmd进入 D:\javaNTM\nginx-1.5.10
输入 : start nginx
输入nginx -t 没有保存表示成功启动
如果启动失败 请修改conf/nginx.conf 中的 charset=utf-8
五:nginx 反向代理
修改 conf/nginx.conf 文件
注入 端口号要和自己的tomcat一致
upstream tomcat{
server localhost:8080;
server localhost:8010;
server localhost:8020;
}
server{
localhost / {
proxy_pass http://tomcat;
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;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}
}
六:session的共享
下载如下jar包 (就是这些个jar折腾的够呛)
全部拷贝进TOMCAT/lib中全部的tomcat都要添加哦
然后修改 conf/context.xml
添加如下代码:
<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
sticky="false"
memcachedNodes="n1:localhost:11211"
failoverNodes=""
lockingMode="all"
requestUriIgnorePattern=".*\.(png|gif|jpg|css|js|ico)$"
sessionBackupAsync="false"
sessionBackupTimeout="100"
transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory"
/>
因为支持memcached分布式 如果有多台memcached 在 memcachedNodes="nx:IP:port" 即可
注意:这里的端口号要和启动的设置的端口一致
打开cmd 进入nginx 的解压目录 输入 nginx -s -stop 输入 nginx start 重新启动nginx依次启动三台tomcat
在TOMCAT \webapps\ROOT 下新增一张页面 demo.jsp
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ page import="java.util.*" %>
<html><head><title>Cluster Test</title></head>
<body>
<%
//HttpSession session = request.getSession(true);
System.out.println(session.getId());
out.println("<br> SESSION ID:" + session.getId()+"<br>");
// 如果有新的请求,则添加session属性
String name = request.getParameter("name");
if (name != null && name.length() > 0) {
String value = request.getParameter("value");
session.setAttribute(name, value);
}
out.print("<b>Session List:</b>");
Enumeration<String> names = session.getAttributeNames();
while (names.hasMoreElements()) {
String sname = names.nextElement();
String value = session.getAttribute(sname).toString();
out.println( sname + " = " + value+"<br>");
System.out.println( sname + " = " + value);
}
%>
jvm1
</body>
</html>
JVM 分别是 1 2 3 分别放进 t1 t2 t3 中 然后打开浏览器
http://localhost/demo.jsp
多次刷新看到不同的jvm 相同的session 表示成功
nginx + tomcat + memcached 环境就搭建好了
相关推荐
Nginx++Keepalived+Tomcat负载均衡&动静分离配置 本文主要介绍了Nginx、Keepalived和Tomcat的负载均衡和动静分离配置,旨在帮助读者了解如何搭建高可用、高性能的Web应用系统。 一、环境准备 在开始配置之前,...
在IT行业中,构建高效、可扩展的Web服务是至关重要的,而Windows+Nginx+Tomcat的组合在处理高并发请求时,常被用来搭建负载均衡系统,同时通过session共享来保证用户会话的一致性。这个“Windows+Nginx+Tomcat做负载...
超详细Nginx+Tomcat+Redis搭建高性能负载均衡集群Session共享搭建说明,按文档步骤可轻松搭建并实现session共享
Nginx+Tomcat7+Mencached负载均衡集群部署,自己写的一个session和cookie管理包.
配置Nginx+Tomcat集群负载均衡的第一步是安装Nginx和多个Tomcat实例。在多台服务器上部署Tomcat,形成一个集群,确保服务的高可用性。每台服务器上的Tomcat实例都需要配置相同的应用,以处理相同类型的请求。 接...
本篇将详细讲解如何在Nginx+Tomcat+Redis环境中实现负载均衡,并讨论session管理的关键知识点。 首先,Nginx是一个强大的HTTP和反向代理服务器,它能够通过分发请求到多个后端服务器来实现负载均衡。Nginx支持多种...
在构建高性能、高可用性的Web服务时,使用Nginx+keepalived+tomcat的组合可以实现强大的负载均衡和故障转移功能。这个方案的核心思想是利用Nginx作为前端反向代理服务器,通过keepalived来确保服务的高可用性,并将...
windows环境下Nginx(1.15.10)+Tomcat(7.0.93)搭建高性能负载均衡集群,快速部署.txt文档,启动tomcat和Nginx就行,有完整的demo可以直接运行,有测试访问地址localhost:8888/test/
真正实现一键自动化部署,Nginx+Tomcat+Redis 实现负载均衡集群服务搭建,所有文件自动生成,包括自动生成配置文件参数、解决依赖问题、Session共享同步问题等等,直接把 Web 应用的 war 包,放进Tomcat的 webapps ...
这里提到的“4 lvs+keepalived+nginx+tomcat”架构,就是一种常用的解决方案,用于处理高流量的Web服务。下面将详细解释每个组件的作用和配置方法。 1. LVS(Linux Virtual Server): LVS是Linux内核中的一个负载...
在搭建均衡负载集群时,首先需要配置Nginx的反向代理和负载均衡设置。在Nginx的配置文件中,可以通过`upstream`块定义一组后端服务器,然后在`server`块中使用`proxy_pass`指令将请求转发到该组服务器。常用的负载...
基于nginx+tomcat+memcache的负载均衡架构
本教程将探讨如何在Windows环境中利用Nginx作为反向代理服务器,与多个Tomcat实例配合,搭建一个负载均衡和集群的系统。这个压缩包包含多个版本的Tomcat,即qdky-tomcat-6.0.44.6、qdky-tomcat-6.0.44.5、qdks-...
总的来说,通过Windows+Nginx+Tomcat搭建的负载均衡集群方案,可以提高服务的可用性和响应速度,同时降低单点故障的风险。不过,实际部署时,还应考虑SSL/TLS加密、安全配置、故障切换机制等更多细节,以提供更完善...
Windows+Nginx+Memcached+Tomcat6负载均衡
总的来说,Windows+Nginx+Tomcat的组合提供了一种高效且灵活的解决方案,用于搭建负载均衡和集群环境。通过深入理解和实践这个教程,你将掌握如何在实际项目中实现这一架构,提升系统的可用性和可靠性。
这个文档"lvs+keepalived+nginx+tomcat实现高性能负载均衡集群.docx"将详细解释每个组件的配置细节、集群的架构图以及可能出现的问题及解决方案,帮助你更好地理解和实施这个高性能的负载均衡集群。
【Nginx+Tomcat在Windows下做负载均衡】 负载均衡是一种网络技术,它通过将流入的网络流量分发到多个服务器,以提高服务的可用性和响应速度,防止单个服务器过载。在这个场景中,Tomcat作为Java应用服务器,由于...
linux nginx+redis+tomcat分布式负载均衡生产环境部署完成 技术:reids集群 nginx部署 tomcat负载均衡 说明包含: nginx+redis+tomcat分布式负载均衡文档 session共享资料 安装程序 nginx+redis+tomcat分布式...