负载均衡nginx +tomcat(n) +redirs session共享

做nginx +tomcat(n) +redirs session共享 负载均衡之前

1. 准备材料

  1. nginx(可点击下载)
  2. apache-tomcat多个(可点击下载)
  3. redis(可点击下载)
  4. war包(可以使用的项目)
以下是我的准备材料

在这里插入图片描述

2. 在tomcat部署项目,将打包好的war包部署到 webapp下

注意:启动tomcat后,会自动编译项目,我们把项目名称改为ROOT(默认根路径访问 不需要加项目名称了)必须修改,不然之后nginx配置匹配不到

在这里插入图片描述

紧接着我们将多台tomcat的端口修改以下!
路径:tomcat-1\conf\service.xml配置文件

一共需要更改三处:

第一处:
在这里插入图片描述
第二处:
在这里插入图片描述
第三处:
在这里插入图片描述

好了以后测试以下,启动多个tomcat测试是否可以访问

3. 配置redis

  1. 启动
redis-server.exe redis.conf
  1. 测试
redis-cli.exe -h 127.0.0.1 -p 6379
set key value
get key
  1. 多个 tomcat融入redis实现session共享。将下图三个jar包 copy 至 tomcat lib
    在这里插入图片描述
然后再tomcat/conf/content.xml文件目录下添加以下代码:
<!-- tomcat-redis- session共享配置 -->
<!-- host:配置ip地址-->
<!-- port:配置端口号-->
<!-- database:默认第几个数据库-->
<!-- maxInactiveInterval:最大超时时间-->
<Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve" />
<Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager"
host="localhost"
port="6379"
database="0"
maxInactiveInterval="60" />

在这里插入图片描述

重行启动tomcat 如果报错,将中文注释删除应该就好了

4. 配置nginx

  1. 启动
start nginx.exe //启动
nginx -s stop   //停止 (暂时不用)
  1. 配置轮训策略,需要在nginx\conf\nginx.conf文件中配置访问(tomcat 端口),在下图位置加入以下两段代码
upstream sshmanager {
    server localhost:8085;
    server localhost:8086;
    server localhost:8087;
    ip_hash;
}

在这里插入图片描述

proxy_pass http://sshmanager;
proxy_redirect off;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_connect_timeout 1;
proxy_read_timeout 1;
proxy_send_timeout 1;

在这里插入图片描述

注意location不能有两个

在这里插入图片描述

这样一个简单的负载均衡就完成了,这里我们使用的轮训策略是ip_hash,这里还给大家总结了几个其他的轮训策略,这篇博客很长,但是步骤不是很多,希望对你有所帮助!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值