您的位置:首页 > 数据库 > Redis

使用Redis存储Nginx+Tomcat负载均衡集群的Session的详细配置

2017-06-07 00:25 891 查看
1.基本配置必备项,tomcat+nginx+redis+jar包


nginx

解压nginx在文件夹输入cmd



打开cmd输入 start nginx.exe 命令

启动nginx 在任务管理器可以查看到进程

nginx常用命令

1.快速停止或关闭 nginx -s stop

2.正常停止或关闭 nginx -s quit

3.配置文件修改重装载命令 nginx -s reload

niginx默认端口号是80

可以在浏览器进行测试 输入localhost

如图



eg:

创建俩个文件夹分别为t1,t2放俩个tomcat用nginx来管理俩个tomcat

tomcat 配置

server.xml 配置项目路径



path是tomcat访问这个应用的URL路径。

把java项目拷到webapp下删除其他的东西。

添加 jvmRoute=”t1” 用来区分tomcat

并更改tomcat端口号 为8081

如图所示eg:



另一个tomcat做同样的更改 端口号为8082

jvmRoute=”t2” 项目路径为t2/tomcat/webapp/**

可以进入tomcat bin文件夹点击startup开启tomcat在url进行测试

如果tomcat正常访问项目继续下一步

在nigix conf文件夹下的nginx.conf进行配置

建议下载一款软件editPlus进行编辑

ygc可以更改 ip_hash;访问粘合

upstream ygc{

server localhost:8081;  #连接本地服务器端口
server localhost:8082;
ip_hash;


}

//配置拦截

location / {

root html;

index index.html index.htm;

proxy_pass http://ygc;

proxy_redirect off;

proxy_set_header X-Forwarded-For proxy_add_x_forwarded_for;
proxy_set_header X-Real-IPremote_addr;

proxy_set_header Host $http_host;

proxy_connect_timeout 1;

proxy_read_timeout 1;

proxy_send_timeout 1;

}

eg:如图



基本策略概念

1.轮询(默认)

每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。(分配给不同的tomcat)

2.weight(权重)

指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。(能者多劳)

3.ip_hash

每个请求按访问ip的hash结果分配,这样每个访问固定访问一个后端服务器,可以解决session的问题(访问以后就粘在一起)

4.fair(第三方)

按后端服务器的响应时间来分配请求,响应时间短的优先分配

5.url_hash(第三方)

按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存时比较有效

cmd文件夹启动redis

命令 redis-server.exe redis.conf 启动redis

redis-cli.exe -h 127.0.0.1 -p 6379 开启客户端

可以输入

keys * 查看所有

set username “ygc” 设置name

get username 获取name

测试–如果能获取到说明没问题

如图



下载redis和tomcat融合时所需要的jar包,将其放到各个tomcat的lib文件夹下

commons-pool 连接池

jedis-2.7.2操作redis的java代码

tomcat-redis-session tomcat和redis结合它的session

更改tomcat 的 context.xml

session共享

配置连接池 俩个tomcat都需要更改

这时候可以取消掉nginx的 ip_hash 更改为默认的轮询策略

<Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve" />
<Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager"
host="localhost"
port="6379"
database="0"
maxInactiveInterval="60" />


如图



启动顺序-redis-tomcat-nginx

项目测试



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: