编程技术分享平台

网站首页 > 技术教程 正文

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

xnh888 2024-09-25 23:36:40 技术教程 37 ℃ 0 评论

1、Nginx简介

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

2、Nginx负载均衡配置

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

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

红框所标是转发的服务器地址,在项目中也就是部署的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的配置文件,一般情况下只需要配置密码(可以不配置)

红框地方是密码。

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文件,如下配置:

  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.

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表