Nginx负载均衡与Redis实现Tomcat的session共享基本配置

作者 : 开心源码 本文共1805个字,预计阅读时间需要5分钟 发布时间: 2022-05-11 共101人阅读

1、Nginx简介

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

2、Nginx负载均衡配置

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

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

Nginx负载均衡与Redis实现Tomcat的session共享基本配置

Nginx负载均衡与Redis实现Tomcat的session共享基本配置

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

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

  1. upstream mynginxserver{

  2. server172.16.10.228:8053 weight=5;

  3. server 172.16.10.225:8050;

  4. }

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

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

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

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

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

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

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

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

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

  9. [html] view plain copy

  10. proxy_set_headerHost $host:$server_port;

  11. proxy_set_headerX-Real-IP $remote_addr;

  12. proxy_set_header REMOTE-HOST $remote_addr;

  13. proxy_set_header X-Forwarded-For$proxy_add_x_forwarded_for;

  14. proxy_redirect off;

  15. proxy_pass_header Set-Cookie;

  16. proxy_hide_header X-Powered-By;

  17. proxy_hide_header X-Mod-Pagespeed;

  18. proxy_ignore_client_abort off;

  19. proxy_cache_valid any 10m;

  20. proxy_connect_timeout 75s;

  21. proxy_read_timeout 75s;

  22. proxy_send_timeout 75s;

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的配置文件,一般情况下只要要配置密码(能不配置)

Nginx负载均衡与Redis实现Tomcat的session共享基本配置

红框地方是密码。

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

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

启动redis,成功界面如下:

Nginx负载均衡与Redis实现Tomcat的session共享基本配置

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

Nginx负载均衡与Redis实现Tomcat的session共享基本配置

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

  1. <ValveclassNameValveclassName="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve"

  2. />

  3. <ManagerclassNameManagerclassName="com.orangefunction.tomcat.redissessions.RedisSessionManager"

  4. host=”localhost”

  5. port=”6379″

  6. database=”0″

  7. maxInactiveInterval=”60000″/>

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

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » Nginx负载均衡与Redis实现Tomcat的session共享基本配置

发表回复