`
susam
  • 浏览: 104967 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

nginx-tomcat负载均衡redis-session共享,静态资源分离

 
阅读更多

基本环境:

redis-2.8

apache-tomcat-6.0.41

nginx1.6.2

1redis配置

1,配置redis访问密码

redis的目录下找的redis.conf,解开requirepass注释(此属性用于设置密码)。

如:

requirepass root

2,启动redis

redis的目录以后台运行的方式启动redis

 redis-server /root/redis-2.8.9/redis.conf &

2,tomcat准备工作

1,准备tomcat应用服务器

部署一个应用到tomcat,将里面的需要静态处理的文件,例如img,单独存放在一个文件夹下,如static下面。将用户产生的媒体文件存放到一个共用的目录下,如/data/media下。后面用nginx配置处理。

2,添加tomcat和redis做session共享的jar包

tomcat自己的lib下添加session共享所需的jar包,需要注意tomcat的版本对应。

 

commons-pool-1.6.jar

jedis-2.1.0.jar

tomcat-redis-session-manager-1.2-tomcat-6.jar

3,修改tomcat的context.xml配置

tomcatconf目录下找到context.xml配置文件,在标签<Context>下添加:

[html] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. <!-- 利用redis 进行session 共享 -->  
  2. <Valve className="com.radiadesign.catalina.session.RedisSessionHandlerValve" />  
  3. <Manager className="com.radiadesign.catalina.session.RedisSessionManager"  
  4. host="127.0.0.1"  
  5. port="6379"  
  6. password="root"  
  7. database="0"  
  8. maxInactiveInterval="3600"/>  



 

提供的配置中默认没有password属性,我们可以查看tomcat-redis-session-manager-1.2-tomcat-6.jar的源码,可以在RedisSessionManager.class中找的password属性。

 

 

4,复制tomcat修改各个tomcat的端口

配置完了tomcatredis共享的配置之后,我们就可以将此tomcat复制多份,然后修改tomcat的端口,如:

tomcat1Server port="8005"Connector port="8080"ajp Connector port="8009"

tomcat2Server port="8006"Connector port="8081"ajp Connector port="8010"

tomcat3Server port="8007"Connector port="8082"ajp Connector port="8011"

 

3,nginx配置

1,注释默认访问

ngixnginx/conf.d/下有个default.conf,将里面的listen 80 default_server改为:

listen 80;

2,在添加需要负载的应用服务器

ngixnginx/conf.d/的创建一个conf,如test.conf。在里面添加upstream pool配置段,将各个需要负载服务器的地址填到下面:

[html] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. upstream pool{  
  2.     server 127.0.0.1:8080;  
  3.     server 127.0.0.1:8081;  
  4.     server 127.0.0.1:8082;  
  5. }  



3,配置访问域名

继续在test.conf中添加:

[html] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. server {  
  2.     listen 80 default_server;  
  3.     server_name www.test.cn;  
  4.     gzip on;  
  5.     gzip_min_length  1k;  
  6.     gzip_buffers     4 16k;  
  7.     gzip_http_version 1.0;  
  8.     gzip_comp_level 2;  
  9.     gzip_types  text/plain application/x-javascript text/css application/xml;  
  10.     gzip_vary on;  
  11.     location / {  
  12.       proxy_set_header Host $host;  
  13.       proxy_set_header X-Forwarded-For $remote_addr;  
  14.       proxy_connect_timeout   3;  
  15.       proxy_send_timeout      30;  
  16.       proxy_read_timeout      30;  
  17.       proxy_pass http://pool;  
  18.   }  
  19.   error_page 500 502 503 504 /50x.html;  
  20.   location = /50x.html{  
  21.       root /home/workspace/server/apache-tomcat-6.0.41-8080/webapps/test;  
  22.   }  
  23.   if ($host != 'www.test.cn' ){  
  24.     rewrite ^/(.*)$ http://www.test.cn/$1 permanent;  
  25.   }  
  26.    
  27. }  



 

4,配置静态资源访问

[html] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. server {  
  2.      listen 80;  
  3.      server_name static.test.cn;  
  4.      location /static {  
  5.            root /home/workspace/server/apache-tomcat-6.0.41-8080/webapps/test;  
  6.      }  
  7.      location /media {  
  8.            root /home/workspace/file;  
  9.      }  
  10. }  



 

5,修改请求体的大小

http {}里增加 client_max_body_size属性,此属性会影响很多的地方,例如上传。

client_max_body_size 100m;

 

 

4,启动nginx和tomcat,测试

测试负载均衡:

启动nginx和所有tomcat,然后到网页登录,然后启动另一个tomcat,关闭上一个。查看是否还能访问。开启所有tomcat用工具发起大量请求,查看请求是否被分发到各个tomcat

 

测试session共享:

启动nginx和一个tomcat,然后到网页登录,然后启动另一个tomcat,关闭上一个。查看是否还在登录状态。

分享到:
评论

相关推荐

    nginx+tomcat7负载均衡+redis缓存session

    这种模式结合了Nginx的反向代理和负载均衡能力,Tomcat作为Java应用服务器处理业务逻辑,而Redis则用于高效地存储和共享用户会话(session)数据。下面我们将详细探讨这些技术组件及其相互作用。 **Nginx** Nginx...

    Nginx+Tomcat+Redis实现负载均衡、资源分离、session共享

    Nginx+Tomcat+Redis实现负载均衡、资源分离、session共享 Nginx、Tomcat和Redis是三大热门的开源软件,分别代表着Web服务器、应用服务器和NoSQL数据库。通过将这三者结合,可以实现负载均衡、资源分离和session共享...

    springboot-nginx-redis-session共享、TCPUDP负载均衡.zip

    本资料包“springboot-nginx-redis-session共享、TCPUDP负载均衡.zip”提供了一套完整的解决方案,涉及到Spring Boot、Nginx、Redis以及TCP/UDP负载均衡的整合。下面将详细解释这些技术及其在实际应用中的作用。 ...

    nginx+tomcat+redis负载均衡及session共享

    在IT行业中,构建高效、可扩展的Web服务是至关重要的,而"nginx+tomcat+redis负载均衡及session共享"的架构就是一个常见的解决方案。这个架构结合了三个强大的工具:Nginx作为反向代理和负载均衡器,Tomcat作为Java...

    Nginx+tomcat+redis

    Nginx的负载均衡和静态资源处理、Tomcat的动态内容渲染以及Redis的缓存功能,共同优化了系统的整体性能,使得服务能够应对大规模并发请求,同时保证了良好的用户体验。在实际部署中,还需要考虑监控、日志、安全等...

    Nginx负载均衡Redis—Session共享—NFS文件共享

    ### Nginx负载均衡、Redis会话共享及NFS文件共享技术详解 #### 一、Nginx负载均衡概述 Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,以其高性能、稳定性、丰富的功能集、简单...

    Windows+Nginx+Tomcat做负载均衡同时实现session共享Demo2

    这里我们关注的是如何在Windows环境下,利用Nginx作为反向代理服务器,与Tomcat应用服务器集群配合,实现负载均衡,并且确保Session数据在多个Tomcat实例之间共享。这个场景对于大型网站或高并发的应用尤其实用,...

    Nginx+Tomcat+Redis负载均衡、数据分离、session共享

    这种架构利用Nginx作为反向代理和负载均衡器,Tomcat作为Java应用服务器处理动态请求,而Redis则用于存储和共享Session数据。下面将详细解析这种架构的关键知识点。 1. **Nginx负载均衡**: - Nginx配置中的`...

    实现基于nginx的tomcat负载均衡和集群配置

    本篇文章将详细讲解如何使用Nginx作为反向代理服务器来实现对Tomcat应用服务器的负载均衡和集群配置。 首先,我们需要理解Nginx和Tomcat的角色。Nginx是一款高性能的HTTP和反向代理服务器,常用于处理静态内容和...

    Nginx+Tomcat+Redis搭建高性能负载均衡集群Session共享

    ### Nginx+Tomcat+Redis搭建高性能负载均衡集群及Session共享 #### 一、概述 在现代Web应用中,为了提高网站的响应速度、稳定性以及处理能力,常常需要搭建一个能够支持高并发请求的服务器集群。其中,Nginx作为一...

    nginx+tomcat+redis负载均衡所需jar及nginx、redis文件及说明文档

    这个压缩包提供的资源将帮助你快速搭建一个基于`Nginx+Tomcat+Redis`的负载均衡和会话共享环境,对于大型、高流量的Web应用来说,这是一个常见的且高效的解决方案。通过深入理解和熟练配置这些组件,你可以为你的Web...

    nginx+tomcat+redis存储session

    在这里,Nginx主要负责接收客户端的请求,并根据配置将请求转发给后端的Tomcat服务器,实现负载均衡,同时还能缓存静态资源,减轻后端服务器的压力。 2. **Tomcat**:Tomcat是Apache软件基金会的一个开源项目,是一...

    tomcat8.5.5-cluster-redis-session-manager.zip

    标题 "tomcat8.5.5-cluster-redis-session-manager.zip" 暗示了这是一个针对Tomcat ...完成以上步骤后,你的系统就能在多个Tomcat实例之间透明地共享session,且通过Nginx进行负载均衡,提升了系统的稳定性和性能。

    jdk+tomcat+nginx+redis+session共享从头搭建一套完整服务

    本教程将引导你通过"jdk+tomcat+nginx+redis+session共享"的全过程,搭建一套高效且可靠的服务器架构。我们将详细介绍每个组件的作用,配置步骤,以及如何实现session共享和负载均衡。 首先,我们从JDK(Java ...

    nginx+tomcat+redis+mysq集群部署方案.docx

    Nginx以其高效和低内存占用著称,负责分发HTTP请求,实现负载均衡,并处理静态资源,减少对Tomcat的压力。 2.1.2 Tomcat服务器 Tomcat是Apache基金会的开源Java Servlet容器,运行Java Web应用程序。在集群中,多台...

    nginx+tomcat7+jdk1.7+redis--jar.rar

    它通常用于处理静态资源请求,分发负载,并作为反向代理服务器将动态请求转发给后端的应用服务器,如Tomcat。 2. **Tomcat7**: Tomcat是Apache软件基金会的Java Servlet和JavaServer Pages(JSP)容器,它是开源的...

    tomcat8+Redis+nginx

    这个架构主要利用了Tomcat作为Java应用服务器,Redis作为缓存系统,以及Nginx作为反向代理和负载均衡器。下面将详细阐述这三者的作用及其在集群部署中的关键知识点。 首先,Tomcat8是Apache软件基金会开发的开源...

    "优雅的SSM框架"进行完善(页面分离+nginx负载均衡+tomcat集群)

    Maven Spring(IOC DI AOP 声明式事务处理) SpringMVC(支持Restful风格) ...Nginx静态加载、负载均衡 基于keepalived的nginx高可用方案 Tomcat集群(Redis共享Session) Sping Shiro权限控制(待完善)

    nginx+redis+tomcat

    总之,“nginx+redis+tomcat”是一个强大的Web服务架构,结合了Nginx的负载均衡和静态资源处理能力、Redis的高速缓存与会话共享功能,以及Tomcat对Java应用的承载能力,为企业提供了稳定、高效的Web服务环境。

    nginx redis tomcat jdk 还有所需jar文件

    Tomcat与Nginx配合,可以实现动静分离,Nginx处理静态资源,而Tomcat负责处理动态请求和应用逻辑。此外,压缩包中的“tomcat session共享所需jar包”可能包括了如`jstl.jar`、`jsp-api.jar`等用于处理session共享的...

Global site tag (gtag.js) - Google Analytics