tomcat(N)+nginx+redis

1 篇文章 0 订阅
1 篇文章 0 订阅

0、需要的安装包

apache-tomcat-7.0.90   下载地址:http://tomcat.apache.org/

nginx-1.15.1 下载地址:http://nginx.org/

Redis 2.6.12 下载地址:http://www.redis.cn/

1、配置tomcat

我这里就用两个tomcat做实验,所以将第二个tomcat中的端口分别修改一下。具体操作:打开conf/server.xml文件,在第22行将8005修改成8006,在第71行将8080修改成8081,在93行8009修改成8010。可能行数会有差别,不要与第一个tomcat端口冲突就行。

然后分别在tomcat的webapp目录下添加一个ROOT文件夹,因为tomcat的默认访问的就是该文件下的资源文件。然后在ROOT文件夹中创建一个index.jsp,内容随便写一点就行。

给index.jsp添加点内容

tomcat2也是一样的操作,然后去分别启动tomcat服务器。网页中访问的效果如下:

2、配置nginx实现反向代理

解压nginx,找到nginx核心配置文件(config/nginx.config),修改其中的配置,在location /里面添加proxy_pass http://127.0.0.1:8080

修改后:

location / {
            proxy_pass http://127.0.0.1:8080;
            #root   html;
            #index  index.html index.htm;
}

意思就是让nginx将你的请求转发给http://127.0.0.1:8080,也就是你刚才配置的tomcat1,然后开启nginx,双击nginx.exe文件即可,默认监听80端口,可以在任务管理器中看到两个nginx的进程,就代表nginx运行成功!!!

然后在浏览器中访问127.0.0.1即可

这个就是反向代理,通过nginx将你的请求转发到相应的服务器。(如果tomcat2也要配置的话,需要再再添加一个server,用的不多,下面直接配置集群负载均衡)

3、配置nginx实现负载均衡

我将默认注释的内容删除掉了,然后配置如下:

然后需要重启nginx,命令nginx -s reload,需要再nginx.exe目录下执行该命令。然后再浏览器中访问http://127.0.0.1就会发现,一次是tomcat1,第二次又是tomcat2反复。实现了负载均衡的效果。

可是细心的小伙伴会发现,每一次response的headers的cookie中都会返回一个JSESSIONID,并且每一次都是不一样的。下面继续帮你解决。

4、redis实现session共享

前提:开启redis缓存,开启成功界面(我这个是windows下的redis,直接解压就可以用):

需要用到的jar包有:

commons-pool2-2.2.jar

jedis-2.5.2.jar

tomcat-redis-session-manage-tomcat7.jar   (这个jar是支持tomcat7的,所以tomcat要用tomcat7)

这些jar包下载我分享了https://download.csdn.net/download/qq_32587949/10557002

将这三个jar包分别放入tomcat1和tomcat2的lib文件夹下,然后打开config/context.xml,分别添加如下配置

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

然后重启tomcat1和tomcat2即可,然后再浏览器中访问http://127.0.0.1发现JSESSIONID只再第一次访问的时候返回,后面都将使用该JSESSIONID。成功实现了session共享的问题。

如果是真实的项目,分别放入tomcat中,就可以了。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值