`

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

阅读更多

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

CentOS安装Nginx

http://centoscn.com/CentosServer/www/2013/0910/1593.html

CentOS安装Tomcat

http://blog.csdn.net/zhuying_linux/article/details/6583096

CentOS安装Redis

http://www.cnblogs.com/zhuhongbao/archive/2013/06/04/3117997.html

多个Tomcat负载均衡实例:可在服务器上复制出多个Tomcat分别修改Tomcat

http访问端口(默认为8080端口)

 

Shutdown端口(默认为8005端口)

 

JVM启动端口(默认为8009端口)

 

1Nginx实现多Tomcat负载均衡

Tomcat服务

192.168.1.177:8001

192.168.1.177:8002

192.168.1.177:8003

Nginx配置

upstream mytomcats { 

server 192.168.1.177:8001; 

server 192.168.1.177:8002; 

server 192.168.1.177:8003; 

}

server { 

listen 80; 

server_name www.iu14.com;

location ~* \.(jpg|gif|png|swf|flv|wma|wmv|asf|mp3|mmf|zip|rar)$ { 

        root /web/www/html/; 

} 

location / { 

        proxy_pass http://mytomcats; 

        proxy_redirect off; 

        proxy_set_header Host $host; 

        proxy_set_header X-Real-IP $remote_addr; 

        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 

        client_max_body_size 10m; 

        client_body_buffer_size 128k; 

        proxy_connect_timeout 90; 

        proxy_send_timeout 90; 

        proxy_read_timeout 90; 

        proxy_buffer_size 4k; 

        proxy_buffers 4 32k; 

        proxy_busy_buffers_size 64k; 

        proxy_temp_file_write_size 64k;

}

}

upstream指定负载均衡组,指定其Tomcat成员

location ~* \.(jpg|gif|……实现了静态资源分离。ps:在location指令使用正则表达式后再用alias指令,Nginx是不支持的。

2Nginx实现静态资源分离

Tomcat服务

192.168.1.177:8000

Nginx配置

server { 

listen 80; 

server_name www.iu14.com; 

root /web/www/html;

location /img/ { 

alias /web/www/html/img/; 

}

location ~ (\.jsp)|(\.do)$ { 

proxy_pass http://192.168.1.177:8000; 

proxy_redirect off; 

        proxy_set_header Host $host; 

        proxy_set_header X-Real-IP $remote_addr; 

        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 

        client_max_body_size 10m; 

        client_body_buffer_size 128k; 

        proxy_connect_timeout 90; 

proxy_send_timeout 90; 

proxy_read_timeout 90; 

        proxy_buffer_size 4k; 

        proxy_buffers 4 32k; 

        proxy_busy_buffers_size 64k; 

        proxy_temp_file_write_size 64k; 

}  

}

第一个location指令将/web/www/html/img/目录下的静态文件交给Nginx来完成。最后一个location指令将所有以.jsp.do结尾的文件都交给Tomcat服务器的8080端口来处理。

3Nginx+Tomcat+Redis实现session共享

Redis服务

192.168.1.178:6379

Tomcat服务

192.168.1.177:8001

192.168.1.177:8002

192.168.1.177:8003

Nginx服务

192.168.1.179

配置Tomcat让其session保存到redis上,在context.xml配置(Value标签一定要在Manager标签前面)

<Valve className="com.radiadesign.catalina.session.RedisSessionHandlerValve" /> 
    <Manager className="com.radiadesign.catalina.session.RedisSessionManager" 
                 host="localhost" 
                 port="6379" 
                 database="0" 
                 maxInactiveInterval="60" 
         /> 

 

 

配置Nginx

upstream mytomcats { 

server 192.168.1.177:8001; 

server 192.168.1.177:8002; 

server 192.168.1.177:8003; 

}

log_format www_iu14_com '$remote_addr - $remote_user [$time_local] $request ' '"$status" $body_bytes_sent "$http_referer"'  '"$http_user_agent" "$http_x_forwarded_for"'; 

server {

listen  80; 

server_name www.iu14.com;  

    location / { 

        proxy_pass http:// mytomcats; 

        proxy_set_header Host $host; 

        proxy_set_header X-Real-IP $remote_addr; 

        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 

} 

access_log /usr/tmp/logs/redis.iu14.log www_iu14_com;  

} 

依次启动RedisTomcatNginx,访问Nginx

 

分享到:
评论

相关推荐

    Nginx+Tomcat+Redis实现负载均衡过程中session所需架包

    综上所述,通过Nginx实现负载均衡,利用Tomcat处理业务逻辑,结合Redis进行session共享,可以在不牺牲用户体验的前提下提高系统的可扩展性和可靠性。这个过程中涉及的关键技术包括Nginx的反向代理和负载均衡配置、...

    nginx+tomcat+redis完成session共享

    这个小例子"nginx+tomcat+redis完成session共享"旨在演示如何通过这三种技术实现跨服务器的用户会话共享,以提升用户体验并简化系统管理。以下是这些技术及其在会话共享中的作用: 1. **Nginx**:Nginx是一款高性能...

    Nginx+tomcat+redis

    - **负载均衡**:Nginx可以基于多种策略(如轮询、最少连接、IP哈希等)分配请求到不同的Tomcat实例,从而实现负载均衡,提高系统的可用性和响应速度。 - **静态资源处理**:Nginx对静态文件(如CSS、JavaScript、...

    nginx+tomcat集群+redis实现session共享

    目前只支持tomcat8.5,其它版本的tomcat还没测试,自己配置过很多nginx+tomcat集群+redis实现session共享的系统,经过仔细总结得出这些,可以说是知识的结晶,欢迎大家来下载,不好的地方可以多提,有问题看到的话会...

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

    超详细Nginx+Tomcat+Redis搭建高性能负载均衡集群Session共享搭建说明,按文档步骤可轻松搭建并实现session共享

    NGINX + TOMCAT 6 + REDIS 实现负载均衡 session会话同步

    本篇文章将详细探讨如何使用NGINX作为负载均衡器,结合TOMCAT 6应用服务器和REDIS作为session会话存储来实现负载均衡下的session会话同步。 首先,我们需要理解负载均衡的基本概念。负载均衡是指在多台服务器之间...

    nginx+redis负载均衡、session共享

    在构建高性能、高可用的Web服务时,"nginx+redis负载均衡、session共享"是一个常见的解决方案。这个方案结合了Nginx的反向代理和负载均衡能力,以及Redis的内存数据存储和分布式特性,用于处理高并发场景下的HTTP...

    nginx+tomcat6+redis实现session共享Jar文件

    "nginx+tomcat6+redis实现session共享"是一个常见的解决方案,旨在提高系统的可扩展性和高可用性。这个配置允许多个Tomcat服务器之间共享用户session,避免了用户在切换服务器时需要重新登录的问题。下面将详细介绍...

    nginx+Redis+tomcat实现session共享jar

    包含的jar包如下: commons-pool2-2.0.jar jedis-2.5.2.jar tomcat-juli-adapters.jar tomcat-juli.jar tomcat-redis-session-manager1.2.jar

    Nginx+Tomcat+Redis实现负载均衡jar包

    Nginx+Tomcat+Redis实现负载均衡jar包: tomcat-redis-session-manager-1.2-tomcat-7-java-7.jar jedis-2.0.0.jar commons-pool-1.5.5.jar

    nginx+tomcat8.5+redis完成session共享

    本篇文章将详细介绍如何通过`Nginx`作为反向代理,`Tomcat 8.5`作为应用服务器,以及`Redis`作为分布式缓存,来实现高效的session共享。 首先,我们来看`Nginx`。`Nginx`是一款高性能的HTTP和反向代理服务器,它的...

    redis缓存服务器Nginx+Tomcat+redis+MySQL实现session会话共享

    "redis缓存服务器Nginx+Tomcat+redis+MySQL实现session会话共享"的主题旨在探讨如何利用这些技术组件来实现这一目标。以下是相关知识点的详细说明: **Redis**:Redis是一个高性能的键值数据存储系统,常用于做缓存...

    真正实现一键自动化部署,Nginx+Tomcat+Redis 实现负载均衡集群服务搭建,所有文件自动生成,包括自动生成配置文件参数、解决依赖问题、Session

    真正实现一键自动化部署,Nginx+Tomcat+Redis 实现负载均衡集群服务搭建,所有文件自动生成,包括自动生成配置文件参数、解决依赖问题、Session共享同步问题等等,直接把 Web 应用的 war 包,放进Tomcat的 webapps ...

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

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

    nginx+tomcat实现负载均衡,共享session的两种方式

    nginx+tomcat实现负载均衡,共享session的两种方式: 1.使用Redis共享session 2.使用tomcat的组播功能。

    nginx+keepalived+tomcat+redis文档

    ### Nginx+Keepalived+Tomcat+Redis 高可用与负载均衡架构解析 #### 架构概览 为了确保Web服务器的稳定运行及高效处理能力,采用Nginx+Keepalived+Tomcat+Redis的技术组合进行系统构建。这一架构通过多个组件的...

    windows系统下nginx+tomcat+redis做负载均衡和session粘滞附整套解决方案

    本方案将详细探讨如何利用Nginx作为反向代理和负载均衡器,Tomcat作为应用服务器,以及Redis作为Session存储,实现负载均衡和Session粘滞的整套解决方案。 首先,Nginx是一款高性能的HTTP和反向代理服务器,它以其...

Global site tag (gtag.js) - Google Analytics