Nginx负载均衡与Tomcat使用Redis共享session配置

1、Nginx简介

根据Nginx官网说明可知:nginx [engine x]是最初由Igor Sysoev编写的HTTP和反向代理服务器,邮件代理服务器和通用TCP / UDP代理服务器。

2、Nginx负载均衡配置

a)  nginx.conf是nginx的配置文件,在conf目录下边,其中#开头的都是注释。

b)  主要需要配置的是http模块下的内容

upstream mynginxserver{

  server 172.16.10.228:8053  weight=5;

   server 172.16.10.225:8050;

    }

红框所标是转发的服务器地址,在项目中也就是部署的tomcat地址,只需配置ip和端口号即可。

配置nginx监听端口和转发的upstream。

配置负载均衡还要注意以下几点

1.$remote_addr 与$http_x_forwarded_for 用以记录客户端的ip地址; 

2.$remote_user :用来记录客户端用户名称; 

3.$time_local : 用来记录访问时间与时区;

4.$request : 用来记录请求的url与http协议;

5.$status : 用来记录请求状态;成功是200, 

6.$body_bytes_s ent :记录发送给客户端文件主体内容大小;

7.$http_referer :用来记录从那个页面链接访问过来的; 

8.$http_user_agent :记录客户端浏览器的相关信息;

c)  启动nginx,命令台进入nginx目录,

start nginx.exe     --启动nginx

nginx.exe –s stop  --停止nginx

nginx.exe –s reload–重启nginx

3、session共享

由于是负载均衡,所以Session需要共享,以下是使用Redis来存储Session达到共享目的。

1. 首先部署Redis

a)  Redis安装包复制到服务器后,其中

redis-windows.conf是redis的配置文件,一般情况下只需要配置密码(可以不配置)

红框地方是密码。

b)  启动redis,打开控制台,进入到Redis根目录,

输入命令redis-server.exeredis.windows.conf

启动redis,成功界面如下:

2. tomcat配置,项目使用的是tomcat-redis-session-manager来把以前使用tomcat来存储session变成使用redis方式来存储,需要把

三个jar包复制到tomcat下的lib目录,然后配置tomcat管理session的方式:配置tomcat的context.xml文件,如下配置:

<Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve"

/> 

<Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager" 

         host="localhost" 

         port="6379" 

         database="0" 

         maxInactiveInterval="60000" />

host是redis服务器的ip,端口号是redis端口号,默认是6379.

 关于实现Redis-Tomcat-session共享的jar包下载地址为https://download.csdn.net/download/jokinwu/10356820

猜你喜欢

转载自www.cnblogs.com/jokinwu/p/9089598.html