nginx+redis实现session共享和负载均衡
最近想实现一个通过nginx做负载,然后共享session的东西
需要到的资源
nginx-1.13.4
apache-tomcat-7.0.63
commons-pool2-2.3.jar
commons-pool-1.2.jar
jedis-2.1.0.jar
tomcat-juli-8.0.23.jar
tomcat-redis-session-manager-1.2-tomcat-7.jar
首先是nginx的配置
upstream cluster_redis {
server localhost:8280 max_fails=1 fail_timeout=60s;
server localhost:8380 max_fails=1 fail_timeout=60s;
}
server {
listen 8180;
server_name localhost;
location / {
proxy_pass http://cluster_redis;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Scheme $scheme;
proxy_connect_timeout 10;
proxy_read_timeout 10;
proxy_send_timeout 10;
}
}
刚开始nginx一直报80端口冲突,按照网上的方法,怎么试怎么不行,最后放弃了,把80端口改成其他的了,我改成了8080,就能启动nginx了
再者是tomcat的配置
<Valve className="com.radiadesign.catalina.session.RedisSessionHandlerValve" />
<Manager className="com.radiadesign.catalina.session.RedisSessionManager"
host="127.0.0.1"
port="6379"
database="0"
password="123456"
maxInactiveInterval="60" />
然后把上面的jar包放进tomcat的lib文件夹下,这里的redis配置和redis的搭建这里就详写了,这个很简单的,下个redis的安装包,安装就行。
然后在tomcat里面的ROOT底下新建一个index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%
String sessionId=session.getId(); //获取session ID号
String userName=request.getParameter("userName");
String password=request.getParameter("password");
String logout=request.getParameter("logout");
if(userName!=null&&!"".equalsIgnoreCase(userName.trim())){
System.out.println("userName:"+userName);
session.setAttribute("userName", userName);
}
if(logout!=null){
session.setAttribute("userName", "");
System.out.println("logout....");
}
System.out.println("tomcat 1");
out.println("tomcat 1");
%>
<!DOCTYPE html>
<html>
<head>
<title>test</title>
<script src="jquery-1.8.3.min.js"></script>
<script>
function logout11(){
$.ajax({
type:"POST",
url:"index.jsp",
dataType:"json",
data:{logout:"logout"},
success:function(result) {
location.href="index.jsp";
},
error:function(result){
}
});
}
function login(){
var userName=$("#userName").val();
$.ajax({
type:"POST",
url:"index.jsp",
dataType:"json",
data:{userName:userName},
success:function(result) {
alert(1111);
location.href="index.jsp";
},
error:function(result){
}
});
}
</script>
</head>
<body>
<div>
current sessionID:<%=sessionId %>
</div>
<%if(session.getAttribute("userName")!=null&&!"".equals((String)session.getAttribute("userName"))){%>
<div>
userName:<%=(String)session.getAttribute("userName")%>
<p>
<form action="index.jsp" method="post">
<input name="logout" type="hidden">
<input type="button" value="logout" onclick="logout11()">
</form>
</p>
</div>
<%}else {%>
<div>
<form action="index.jsp" method="post">
<table>
<tr>
<td>userName:</td>
<td><input id="userName" name="userName" type="text" /></td>
</tr>
<tr>
<td>password:</td>
<td><input name="password" type="text" /></td>
</tr>
</table>
<p>
<input type="button" value="login" onclick="login()">
</p>
</form>
</div>
<%}%>
</body>
</html>
jquery js自己下载替换。
然后,复制tomcat,改端口,此时我的两个tomcat的端口分别是8280,8380
好了,启动nginx和两个tomcat,访问http://localhost:8180/index.jsp
- 大小: 16.9 KB
- 大小: 18.8 KB
分享到:
相关推荐
nginx+redis负载均衡、session共享,基于redis+tomcat实现session同步的简单demo
ssm+redis+nginx实现session共享和负载均衡,大家一起来研究吧
MySQL查询优化、分库分表、负载均衡、Nginx+Tomcat+Redis (负载均衡+session共享) 自用
Nginx+Tomcat+Redis实现负载均衡、资源分离、session共享
使用redis解决nginx+tomcat8负载均衡集群session共享问题jar包
资源包含 nginx+tomcat+redis负载均衡及session共享,所需的jar包,redis桌面程序,以及相关的配置说明文档
超详细Nginx+Tomcat+Redis搭建高性能负载均衡集群Session共享搭建说明,按文档步骤可轻松搭建并实现session共享
nginx+tomcat实现负载均衡,共享session的两种方式: 1.使用Redis共享session 2.使用tomcat的组播功能。
真正实现一键自动化部署,Nginx+Tomcat+Redis 实现负载均衡集群服务搭建,所有文件自动生成,包括自动生成配置文件参数、解决依赖问题、Session共享同步问题等等,直接把 Web 应用的 war 包,放进Tomcat的 webapps ...
linux nginx+redis+tomcat分布式负载均衡生产环境部署完成 技术:reids集群 nginx部署 tomcat负载均衡 说明包含: nginx+redis+tomcat分布式负载均衡文档 session共享资料 安装程序 nginx+redis+tomcat分布式...
Nginx+Tomcat+Redis实现应用服务器集群负载均衡和Session共享所需要的所有jar包,包括如下jar包:commons-logging-1.2.jar,commons-pool2-2.6.0.jar,jedis-2.9.0.jar,tomcat-juli-7.0.90.jar,tomcat-redis-...
Nginx+Tomcat+Redis实现服务器负载均衡,和Session共享
Nginx+Tomcat+Redis实现应用服务器集群负载均衡和Session共享所需要的所有jar包,包括如下jar包:commons-logging-1.2.jar,commons-pool2-2.4.2.jar,jedis-2.8.2.jar,tomcat-juli.jar,tomcat-redis-session-...
Nginx+Tomcat+Redis负载均衡、数据分离、session共享
今天用了一天来搞定了ssm+redis集成和nginx实现负载均衡,这里只有ssm+redis简单d集成demo,希望大家一起来讨论
Linux下搭建Nginx+Keepalived+Redis+Tomcat实现session共享 、负载均衡、高可用
一个稳定Web服务器架构必须实现高可用与负载均衡。这里配置Keepalived + Nginx + Tomcat + Redis的架构,其中:keepalived用于管理Virtual IP,与nginx一起...后端使用Tomcat管理web服务,并利用Redis实现session共享。
包含nginx+tomcat+redis负载均衡session共享的所有jar包和配置文件
此压缩包包含了jdk安装、tomcat、redis、nginx相关配置以及实现负载均衡共享session的一个完整安装从头配置有详细的图文解释,相关jar包和源码都包含了