nginx+redis实现负载均衡和session共享

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的配置


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");
%>



test





current sessionID:<%=sessionId %>

<%if(session.getAttribute("userName")!=null&&!"".equals((String)session.getAttribute("userName"))){%>

userName:<%=(String)session.getAttribute("userName")%>








<%}else {%>











userName:
password:






<%}%>



jquery js自己下载替换。
然后,复制tomcat,改端口,此时我的两个tomcat的端口分别是8280,8380
好了,启动nginx和两个tomcat,访问http://localhost:8180/index.jsp
[img]111.png[/img]
[img]222.png[/img]

你可能感兴趣的:(nginx+redis实现负载均衡和session共享)