nginx+tomcat+redis集群环境搭建

原创 2016年05月30日 17:05:16

一个web服务器处理的能力有限,当出现大用户量同时访问时,出现响应慢,甚至宕机。今天我们就来看看多个web服务器集群的搭建。集群有几个问题会出现:

  1. session的同步:由于上次请求和这次请求不一定在同一个web服务请上,会出现session数据拿不到的情况,所以要保证session在多个服务器上同步。我们采用redis保存session。
  2. 上传、下载文件:原因同上。因此在工程一开始就强调存图片时要用一台专门的文件服务器或者是FTP服务器来存,就是为了避免将来出现这样的问题

今天我们搭建tomcat集群,结构图如下:
这里写图片描述

1.nginx配置

nginx的下载、安装省略。安装很简单,解压到一个目录就可以了。找到安装目录下conf/nginx.conf文件,如图:
这里写图片描述

添加如下配置:
这里写图片描述
添加完成后,保存!打开命令行,找到nginx安转路径,输入:start nginx。黑色的框闪一下没了,说明nginx已经启动了。

2.tomcat配置

如果tomcat在不同的机器上,tomcat用默认的端口就行了。如果都在一台机器上,那就要保证各个tomcat端口不同,否则启动不了。如何修改端口,不用多说了。

3.redis配置

redis是一个基于内存并可以持久化的key-value数据库。安装也很简单,解压即可。如同nginx,命令行下,输入redis-server.exe就启动了,启动如图:
这里写图片描述

4.tomcat配置redis

这里要用到Redis Session Manager for Apache Tomcat项目,https://github.com/jcoleman/tomcat-redis-session-manager 已经说的很明白了。注意,目前还不支持tomcat8。如果是tomcat6,用到的jar版本也不一样。
配置步骤,第一步:先把redis session所需的jar拷贝到{tomcat_home}/lib下。

注意,有几个tomcat集群,就要copy几份。
第二步:修改{tomcat_home}/conf下的context.xml文件,加入如下配置:

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

注意:value标签必须在manager标签之前。 manager标签简单介绍:

  • host : redis服务器地址
  • port : redis服务器的端口号
  • database : 要使用的redis数据库索引
  • maxInactiveInterval : session最大空闲超时时间,如果不填则使用tomcat的超时时长,一般tomcat默认为1800 即半个小时。(经过测试,在web.xml中配置session过期时间,此时单位是秒,否则,session过期时间是30秒)。

OK,所有的配置已经完成,启动所有的tomcat看看效果。如图:
这里写图片描述
红色框框中,显示了session的过期时间。

版权声明:本文为博主原创文章,未经博主允许不得转载。

高性能网站架构之负载均衡 Nginx+tomcat+redis实现tomcat集群

上一篇文章给大家讲了Nginx的安装,那么这篇文章为大家讲一下Nginx+Tomcat实现负载均衡。          先说说为什么要用ngnix 做负载均衡,其实做负载均衡的最出名的莫过于F5了,F...
  • lexang1
  • lexang1
  • 2016年08月31日 13:10
  • 7099

tomcat集群基于redis共享session解决方案

一、使用版本:apache-tomcat-7.0.56+nginx-1.8.0+redis-3.0.6 1、先给出正确的配置和jar包 所需jar包如下 tomcat-redis-session-m...
  • xiaoxiaosasasa
  • xiaoxiaosasasa
  • 2016年01月13日 22:53
  • 9336

reids集群

一、说明       redis 3.0集群功能出来已经有一段时间了,目前最新稳定版是3.0.5,我了解到已经有很多互联网公司在生产环境使用,比如唯品会、美团等等,刚好公司有个新项目,预估的量单机re...
  • wenlixing110
  • wenlixing110
  • 2016年10月24日 15:04
  • 100

Redis(三)集群

四、集群 ################################################### Redis集群一般由多个节点组成。 一开始的时候,每个节点都是独立的,通过使用clus...
  • jjavaboy
  • jjavaboy
  • 2016年12月31日 00:27
  • 618

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

环境:Cent OS 7.0(虚拟机环境)、Nginx 1.9.8、Redis 3.2.1一、背景在使用Nginx+Tomcat实现负载均衡的时候,由于Nginx对不同的请求分发到某一个Tomcat,...
  • u010870518
  • u010870518
  • 2016年07月25日 17:26
  • 19683

tomcat6+nginx+redis搭建tomcat集群环境

所需文件下载:http://pan.baidu.com/s/1sjAxrWT 一.windows下安装redis运行环境 将下载的redis-2.4.5-win32-win64.zip文件解压,里...
  • a1368712847
  • a1368712847
  • 2015年02月02日 15:15
  • 917

Docker 部署 SpringBoot 项目整合 Redis 镜像做访问计数Demo

Docker 部署SpringBoot项目整合 Redis 镜像做访问计数Demo 最终效果如下 大概就几个步骤 1.安装 Docker CE 2.运行 Redis 镜像 3....
  • u012889902
  • u012889902
  • 2018年01月11日 15:15
  • 40

Redis Cluster学习笔记

Redis在3.0版正式引入了集群这个特性。Redis集群是一个分布式(distributed)、容错(fault-tolerant)的 Redis内存K/V服务, 集群可以使用的功能是普通单机 Re...
  • tengdazhang770960436
  • tengdazhang770960436
  • 2015年11月19日 11:34
  • 25348

高性能网站架构之负载均衡 Nginx+tomcat+redis实现tomcat集群

上一篇文章给大家讲了Nginx的安装,那么这篇文章为大家讲一下Nginx+Tomcat实现负载均衡。          先说说为什么要用ngnix 做负载均衡,其实做负载均衡的最出名的莫过于F5了,F...
  • zhanghongjie0302
  • zhanghongjie0302
  • 2016年01月20日 18:39
  • 9150

nginx+tomcat+redis集群配置session共享(下载运行即可)+详细说明

  • 2017年12月05日 09:20
  • 63.25MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:nginx+tomcat+redis集群环境搭建
举报原因:
原因补充:

(最多只允许输入30个字)