Tomcat集群,Nginx集群,Tomcat+Nginx 负载均衡配置,Tomcat+Nginx集群

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.

蕃薯耀 2016年7月6日 16:12:52 星期三

http://fanshuyao.iteye.com/

在Win7实现Tomcat+Nginx 负载均衡配置

一、首先需要下载tomcat及nginx,然后解压。

nginx-1.11.2

apache-tomcat-7.0.70-windows-x64.zip

然后解压到某个文件夹里面。

tomcat 需要有2个或者2个以上,不然体现不了集群,所有把解压的Tomcat复制一份,重新命名。

我是这样的:

tom-7.0.70-1
tom-7.0.70-2

nginx-1.11.2

二、配置Tomcat

1、修改Tomcat端口

因为Tomcat使用了端口,如果相同的端口,后启动的tomcat会启动不了,提示端口占用。所以先修改端口。

由于开发也需要一个Tomcat,所以我把集群的2个Tomcat的端口都改了。

一个是:8081,对应tom-7.0.70-1

另一个是8082,对应tom-7.0.70-2

配置如下:

D:\tom-7.0.70-1\conf\server.xml

修改关闭端口

<Server port="8015" shutdown="SHUTDOWN">

修改请求端口

<Connector port="8081" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />

D:\tom-7.0.70-2\conf\server.xml

<Server port="8025" shutdown="SHUTDOWN">
<Connector port="8082" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />

2、修改 jvmRoute

同样是在文件

D:\tom-7.0.70-1\conf\server.xml

D:\tom-7.0.70-2\conf\server.xml

找到Engine

<Engine name="Catalina" defaultHost="localhost" >

在后面加上 jvmRoute,如:

D:\tom-7.0.70-1\conf\server.xml配置下如

<Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1">

D:\tom-7.0.70-2\conf\server.xml配置如下

<Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm2">

三、修改nginx配置文件nginx.conf

1、找到nginx.conf文件,我的在D:\nginx-1.11.2\conf\nginx.conf

2、在http{……}里加上upstream,如下 

upstream tomcatCluster{# tomcatCluster和proxy_pass保持一样
#解决session的问题
ip_hash;#加上这个,解决Session每次访问页面都不一样,加上就一样了。 #这里是tomcat的地址,weight越大,访问机率越大。
server 127.0.0.1:8081 weight=1 fail_timeout=5s max_fails=1;
server 127.0.0.1:8082 weight=2 fail_timeout=5s max_fails=1;
}

server:配置tomcat服务器请求的地址,2台Tomcat服务就配置2个server

3、修改location / {……}

默认是这个的:

location / {
root html;
index index.html index.htm;
}

修改成这样:

location / {
#root html;
proxy_pass http://tomcatCluster;
#index index.html index.htm;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_connect_timeout 1;
proxy_read_timeout 1;
proxy_send_timeout 1;
}

最简单的配置就是:

location / {
proxy_pass http://tomcatCluster;
}

tomcatCluster 对应upstream后的命名。

下面的配置可以解决2个Tomcat服务器集群,当一台服务器挂掉(宕机)后,请求变得很慢的问题。

(Tomcat集群一台服务器挂掉后请求变慢解决方案)

proxy_connect_timeout       1;
proxy_read_timeout 1;
proxy_send_timeout 1;

四、测试

1、在Tomcat部署一个JavaWeb项目,配置一个index.jsp页面,方便查看集群后请求进入的是哪个Tomcat服务器。其实这步可以省略,但有更加好。

index.jsp代码如下:

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>学习项目</title>
</head>
<body>
<div style="color: red;font-weight: bold;">study项目。</div>
<%
//HttpSession session = request.getSession(true);
System.out.println(session.getId());
out.println("<br> SESSION ID:" + session.getId()+"<br>");
%> </body>
</html>

2、分别启动2个Tomcat

分别进行D:\tom-7.0.70-1\bin、D:\tom-7.0.70-2\bin目录,点击startup.bat启动Tomcat

3、启动Nginx服务器

使用Windows命令行启动

(1)进入D盘:d:

(2)进入D:\nginx-1.11.2目录:cd nginx-1.11.2

(3)启动服务:start nginx (启动一闪而过,但打开进程管理器能看到是已经启动的)

关闭服务的命令:nginx -s stop

重新加载的命令:nginx -s reload,修改配置文件后,可以使用该命令直接加载,不需要重启。

4、在浏览器输入地址测试

Nginx监听的是80端口,浏览器直接输入:http://localhost/

如果出现Tomcat的页面,就证明成功。

由于我在Tomcat部署了项目,直接请求项目:http://localhost/study/

出现:


 显示的信息是前面提过的index.jsp页面

其中后缀 jmv1,jvm2对应Tomcat配置的jvmRoute,这样可以清晰看出请求的是哪个Tomcat服务器。

另外说明的是:

server 127.0.0.1:8081 weight=1 fail_timeout=5s max_fails=1;

里面的weight表示权重,权重越大,请求机率越大

127.0.0.1:8081设置为1,127.0.0.1:8082设置也为1,请求的机率几乎是请求完jvm1,再请求就是jvm2

127.0.0.1:8081设置为1,127.0.0.1:8082设置为2,请求的机率是请求2次8082才会请求一次8081

127.0.0.1:8081设置为1,127.0.0.1:8082设置为5,请求的机率是几乎所有请求都是8082

更多请自己测试吧。

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.

蕃薯耀 2016年7月6日 16:12:52 星期三

http://fanshuyao.iteye.com/

Tomcat集群,Nginx集群,Tomcat+Nginx 负载均衡配置,Tomcat+Nginx集群的更多相关文章

  1. 负载均衡配置(基于Nginx)

    以下是基于nginx进行负载均衡配置的流程: 服务器配置如下: 1.  安装nginx的服务器:192.168.1.1 2.  nginx配置负载均衡位置及端口:192.168.1.1 80端口 3. ...

  2. Nginx反向代理及简单负载均衡配置

    nginx配置文件主要分为六个区域:main section.events section.http section.sever section.location section.upstream s ...

  3. nginx的安装及简单负载均衡配置

    Nginx 是一个很强大的高性能Web和反向代理服务器,它具有很多非常优越的特性.本人目前所在公司也使用nginx,主要用来做负载均衡服务器.同时也可以作为邮件代理服务器. 1. nginx的安装.本 ...

  4. Nginx+Tomcat多实例及负载均衡配置

    Nginx+Tomcat多实例及负载均衡配置 采用nginx的反向代理负载均衡功能,配合后端的tomcat多实例来实现tomcat WEB服务的负载均衡 01 安装nginx服务 安装所需的pcre库 ...

  5. Linux 下 Nginx 反向代理 负载均衡配置

    转载请注明出处:http://blog.csdn.net/smartbetter/article/details/52036350 上一篇分享了 Nginx + JDK + Tomcat + MySQ ...

  6. nginx四层负载均衡配置

    nginx四层负载均衡配置代理Mysql集群 环境如下: ip 192.168.6.203 Nginx ip 192.168.6.*(多台) Mysql 步骤一 查看Nginx是否安装stream模块 ...

  7. Nginx安装负载均衡配置 fair check扩展

    前言 本文主要是针对Nginx安装.负载均衡配置,以及fair智能选举.check后端节点检查扩展功能如何扩展,进行讲解说明. fair模块: upstream-fair,“公平的”Nginx 负载均 ...

  8. Nginx+keepalived构建双主负载均衡代理服务器

    引言 Nginx是一个高性能的代理服务器,单台Nginx容易出现单点故障,使用keepalived可以实现Nginx的故障转移,保证了网站的高可用性 一.使用Nginx+keepalived的两种方案 ...

  9. SpringBoot2.x+Redis+nginx实现session共享和负载均衡

    1.创建SpringBoot项目添加依赖 <dependency> <groupId>org.springframework.session</groupId> & ...

随机推荐

  1. win7+ubuntu双系统安装攻略

    一1.下载分区软件,为ubuntu安装分出一个区 2.磁盘管理器,选中该区,右键,删除卷,该区变为绿色,成为空闲区 3.成功 二为ubunt添加开机导引项 1,安装好easybcd2.0后,启动软件: ...

  2. USB otg 学习笔记

    1 USB OTG的工作原理 OTG补充规范对USB2.0的最重要的扩展是其更具节能性的电源管理和允许设备以主机和外设两种形式工作.OTG有两种设备类型:两用OTG设备(Dualrole device ...

  3. Qt之自定义插件(for Qt Designer)

    之前Blog里面有关于QWT的编译.配置.使用的文章,分别是在VS与Creator下进行的. QWT编译.配置.使用(VS2010 + Qt5.1.0). QWT编译.配置.使用(Qt Creator ...

  4. [译]GotW #1: Variable Initialization

    原文地址:http://herbsutter.com/2013/05/09/gotw-1-solution/ 第一个问题强调的是要明白自己在写什么的重要性.下面有几行简单的代码--它们大多数之间都有区 ...

  5. Android上按钮解决快速点击问题

           //代码2         public abstract class NoDoubleClickListener implements OnClickListener {        ...

  6. 【HDOJ】2149 Public Sale

    看Discuss说是博弈论,没学到这个分类.不过仔细想了想,发现.如果m<=n,那么可能结果为m,m+1...n.否则,如果m%(n+1) == 0,那么无论如何都会输,因为无论先报价什么数,如 ...

  7. 【转】virtualbox安装增强包及配置共享文件夹

    原文网址:http://www.2cto.com/os/201308/233609.html virtualbox安装增强包及配置共享文件夹     因为需要在host及虚拟机间传输数据,想使用共享文 ...

  8. [C# 网络编程系列]专题四:自定义Web浏览器

    转自:http://www.cnblogs.com/zhili/archive/2012/08/24/WebBrowser.html 前言: 前一个专题介绍了自定义的Web服务器,然而向Web服务器发 ...

  9. 计算几何(容斥原理,圆交):HDU 5120 Intersection

    Matt is a big fan of logo design. Recently he falls in love with logo made up by rings. The followin ...

  10. 如何当好党支部书记 z

    如何当好党支部书记 党支部书记是党支部一班人的“班长”,一个党支部是否具有坚强的战斗力,能否发挥好战斗堡垒作用,在很大程度上取决于是不是有一个得力的支部书记.在改 革开放,全面建设小康社会,构建社会主 ...