文档章节

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集群配置+session共享

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

涂孟超
2013/07/31
0
5
Nginx反向代理实现负载均衡配置图解

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

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

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

嘻哈开发者
2015/07/02
0
1
apache+tomcat负载均衡中springmvc项目session遇到的问题

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

tuzibuluo
2015/03/16
1K
3

没有更多内容

加载失败,请刷新页面

加载更多

firewalld

1. firewalld 是什么 CentOS中默认是有 firewalld, iptables, etablesd firewalld 是 CentOS7/RadHat7 中默认的防火墙管理工具. firewalld 工具用来管理里netfilter, 不过底层还是调用的还是...

Fc丶
31分钟前
1
0
Java 源代码和 C 源代码的运行区别

与其他程序的执行方式和编译方式不同。 Java 源代码需要进行编译成字节码后在 Java 虚拟机上运行,这样 Java 程序能够保持独立性和跨平台功特性。 请参考下图。 https://www.cwiki.us/pages...

honeymose
今天
5
0
Apache限定目录解析PHP,限制user_agent,PHP相关的配置

Apache限定目录解析PHP 配置前访问upload/index.php [root@test-a ~]# curl -x192.168.77.139:80 'www.test.com/upload/index.php'This is upload diretory 配置,/usr/local/apache2.4/......

野雪球
今天
5
0
java.util.Concurrent.Exchanger源码

类图 源码: package java.util.concurrent;import java.util.concurrent.atomic.AtomicInteger;import java.util.concurrent.atomic.AtomicReference;import java.util.concurrent......

狼王黄师傅
今天
6
0
Kubernetes里的secret最基本的用法

Secret解决了密码、token、密钥等敏感数据的配置问题,使用Secret可以避免把这些敏感数据以明文的形式暴露到镜像或者Pod Spec中。 Secret可以以Volume或者环境变量的方式使用。 使用如下命令...

JerryWang_SAP
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部