nginx+tomcat+redis集群环境搭建
2016-05-30 17:05
489 查看
一个web服务器处理的能力有限,当出现大用户量同时访问时,出现响应慢,甚至宕机。今天我们就来看看多个web服务器集群的搭建。集群有几个问题会出现:
session的同步:由于上次请求和这次请求不一定在同一个web服务请上,会出现session数据拿不到的情况,所以要保证session在多个服务器上同步。我们采用redis保存session。
上传、下载文件:原因同上。因此在工程一开始就强调存图片时要用一台专门的文件服务器或者是FTP服务器来存,就是为了避免将来出现这样的问题
今天我们搭建tomcat集群,结构图如下:
添加如下配置:
添加完成后,保存!打开命令行,找到nginx安转路径,输入:start nginx。黑色的框闪一下没了,说明nginx已经启动了。
配置步骤,第一步:先把redis session所需的jar拷贝到{tomcat_home}/lib下。
tomcat-redis-session-manager-2.0.0.jar
jedis-2.5.2.jar
commons-pool2-2.2.jar
注意,有几个tomcat集群,就要copy几份。
第二步:修改{tomcat_home}/conf下的context.xml文件,加入如下配置:
注意:value标签必须在manager标签之前。 manager标签简单介绍:
host : redis服务器地址
port : redis服务器的端口号
database : 要使用的redis数据库索引
maxInactiveInterval : session最大空闲超时时间,如果不填则使用tomcat的超时时长,一般tomcat默认为1800 即半个小时。(经过测试,在web.xml中配置session过期时间,此时单位是秒,否则,session过期时间是30秒)。
OK,所有的配置已经完成,启动所有的tomcat看看效果。如图:
红色框框中,显示了session的过期时间。
session的同步:由于上次请求和这次请求不一定在同一个web服务请上,会出现session数据拿不到的情况,所以要保证session在多个服务器上同步。我们采用redis保存session。
上传、下载文件:原因同上。因此在工程一开始就强调存图片时要用一台专门的文件服务器或者是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-redis-session-manager-2.0.0.jar
jedis-2.5.2.jar
commons-pool2-2.2.jar
注意,有几个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的过期时间。
相关文章推荐
- java-模拟tomcat服务器
- i-jetty环境搭配与编译
- nginx代理指定目录
- 实现单Tomcat多Server配置
- 生产环境下的Tomcat配置
- 访问Nginx发生SSL connection error的一种情况
- redis安装问题小结
- Linux部署Tomcat服务器
- Nginx+Naxsi部署专业级Web应用防火墙
- jenkins------结合maven将svn项目自动部署到tomcat下
- 如何搞定tomcat这只喵~
- CentOS 6.2实战部署Nginx+MySQL+PHP
- nginx中http核心模块的配置指令2
- nginx中http核心模块的配置指令3
- nginx中http核心模块的配置指令4
- nginx中http的fastcgi模块的配置指令1
- Nginx 学习笔记(一)
- 使用 Redis 和 Python 构建一个共享单车的应用程序