文档章节

Nginx+Redis+Tomcat 负载均衡配置,修改了网上部分教程配置错误问题

j
 jeChuan
发布于 2016/09/30 11:23
字数 456
阅读 31
收藏 2

注:大部分参考:https://my.oschina.net/liting/blog/535273 谢谢原作者.再写一遍博客是希望自己以后能记住

配置环境使用三个tomcat, 三台tomcat、redis和nginx都在一台机器上,为了方便测试和部署。

大致的整个配置的架构:

tomcat-nginx-redis

在这个图中,nginx做为反向代理,将客户请求根据权重随机分配给三台tomcat服务器,redis做为三台tomcat的共享session数据服务器。

规划

redis

localhost:6379

nginx

localhost:80

tomcat

localhost:8081
localhost:8082
localhost:8083

 

windows版redis安装教程:http://www.cnblogs.com/zhrxidian/p/5491285.html#3482870

tomcat配置:

在server.xml的context节点加入以下而配置     //这部分的配置网上大部分是错误的,因为类名,路径已经改变

<Valve  className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve" />
<Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager"
     host="localhost"   //服务器地址
     port="6379"
     database="0" 
     maxInactiveInterval="60" />

并在tomcat的lib包放以下三个jar包:

1.tomcat-redis-session-manager1.2.jar  //经过再编译的  

       链接:http://pan.baidu.com/s/1o7OhlUy 密码:9k7j

jedis-2.8.0.jar

       链接:http://pan.baidu.com/s/1o8xte9k 密码:5t73

commons-pool2.2.0.jar

      链接:http://pan.baidu.com/s/1hsBI1ve 密码:cset

nginx      

nginx的安装教程:     http://blog.csdn.net/grhlove123/article/details/47834673 

修改nginx文件目中的conf/nginx.conf文件为:

#user  nobody;
worker_processes  1;

error_log  logs/error.log;

pid        logs/nginx.pid;

events {
	worker_connections  1024;
}


http {
	include       mime.types;
	default_type  application/octet-stream;

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

	access_log  logs/access.log  main;

	sendfile        on;
	#tcp_nopush     on;

	#keepalive_timeout  0;
	keepalive_timeout  65;

	#gzip  on;

	upstream  localhost   {  
          server   localhost:8081 weight=1;  
          server   localhost:8082 weight=2;  
		  server   localhost:8083 weight=3; 
	}  

	server {
    	listen       80;
    	server_name  localhost;

    	#charset koi8-r;

    	#access_log  logs/host.access.log  main;

    	location / {
        	root   html;
        	index  index.html index.htm;
			proxy_pass        http://localhost;  
       	 	proxy_set_header  X-Real-IP  $remote_addr;  
        	client_max_body_size  100m;  
    	}

    	#error_page  404              /404.html;

    	# redirect server error pages to the static page /50x.html
    	#
    	error_page   500 502 503 504  /50x.html;
    	location = /50x.html {
        	root   html;
    	}

	}
}

redis的配置就直接使用默认配置,因为只是测试用,和tomcat一样没有做参数优化配置。

 

 

 

© 著作权归作者所有

共有 人打赏支持
j
粉丝 0
博文 2
码字总数 803
作品 0
厦门
nginx+redis+tomcat,Session共享失败,Keys *显示 为空

我是根据网上的配置做的,然后做了一个小demo,用来显示当前的sessionId,但是发现,每次通过nginx监听的主机和端口访问过去,每一次的sessionId都是改变的,说明,session没有被共享;怀疑过r...

康州牧码人
2015/04/15
4.8K
11
apache+tomcat负载均衡中springmvc项目session遇到的问题

apache+tomcat集群的负载均衡,按照网上的教程,集群的负载均衡我用的是mod_jk的模式,在同一部机器下配置成功,我用了简单的例子去跑可以实现session的复制和session内容的共享,测试截图一如...

tuzibuluo
2015/03/16
1K
3
Nginx反向代理实现负载均衡配置图解

Nginx反向代理实现负载均衡配置图解 [导读] 负载均衡配置是超大型机器需要考虑的一些问题,同时也是数据安全的一种做法,下面我来介绍在nginx中反向代理 负载均衡配置图解,大家可参考本文章...

thinkyoung
2015/01/07
0
0
Apache+Tomcat集群配置+session共享

本文Apache+Tomcat集群配置 基于最新的Apache和Tomcat,具体是2011年4月20日最新的Tomcat和Apache集群和负载均衡配置。 准备环境 Apache Apache是http服务器,我们利用其对Tomcat进行负载均衡...

涂孟超
2013/07/31
0
5
Apache+Tomcat集群配置(转载)

http://www.iteye.com/topic/1017961 本文Apache+Tomcat集群配置 基于最新的Apache和Tomcat,具体是2011年4月20日最新的Tomcat和Apache集群和负载均衡配置。 准备环境 Apache Apache是http服...

QAllen
2012/04/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

微信小程序页面栈管理

页面路由 在小程序中所有页面的路由全部由框架进行管理。 页面栈 框架以栈的形式维护了当前的所有页面。当发生路由切换的时候,页面栈的表现如下: 路由方式 页面栈表现 初始化 新页面入栈 ...

昙花一现
22分钟前
1
0
es6 let使用总结

中午偷个闲做个es6let的使用总结 作用域块 在作用域块中声明的变量不受外部的影响,见例子 {let a= 10;{let a= 20;console.log('子作用域', a);// 20}console.log('父作用域', a);// 10...

莫西摩西
23分钟前
0
0
ppwjs之bootstrap文字排版:排版常量

$bootstrap.字体.加粗类 = "font-weight-bold";$bootstrap.字体.普通类 = "font-weight-normal";$bootstrap.字体.纤细类 = "font-weight-light";$bootstrap.字体.斜体类 = "font-ital......

ppwjs
27分钟前
0
0
macOS Mojave 去除 Dock 栏最近打开的 App

升级 macOS Mojave 正式版后,每打开一个 App ,关闭后在 Dock 栏仍会保留下来,并与“钉”在 Dock 栏的那些常驻 App 以一个分割线隔开,这与 iPad 上类似,但是在 mac 下此功能显得十分别扭...

whoru
31分钟前
3
1
在Debian 9系统上安装Mysql数据库的方法教程

前言 看到题目大家应都会想,在 Debian 9 上安装 Mysql?那不是很简单的事儿吗?直接 sudo apt install mysql-server 不就行了吗? 没想到遇到了几个之前没遇到的问题,耽误了不少时间。 原来...

临江仙卜算子
今天
4
1

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部