`

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

阅读更多

 

windows 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/

  • 大小: 104.9 KB
  • 大小: 2 KB
  • 大小: 1.6 KB
1
5
分享到:
评论
1 楼 蕃薯耀 2016-07-07  
Tomcat+Nginx 负载均衡配置,Tomcat+Nginx集群,Tomcat集群

相关推荐

    Nginx+tomcat配置集群负载均衡实例

    配置Nginx+Tomcat集群负载均衡的第一步是安装Nginx和多个Tomcat实例。在多台服务器上部署Tomcat,形成一个集群,确保服务的高可用性。每台服务器上的Tomcat实例都需要配置相同的应用,以处理相同类型的请求。 接...

    负载均衡nginx+tomcat+terracatta+nfs+mysql

    在构建高性能、高可用性的Web服务环境中,"负载均衡nginx+tomcat+terracotta+nfs+mysql"是一个常见的架构组合。这个组合充分利用了各组件的优势,以实现数据的高效处理、分布式存储以及会话共享,确保系统的稳定性和...

    Nginx+tomcat配置集群负载均衡

    在IT行业中,构建高效、可扩展的Web服务是至关重要的,而"**Nginx+Tomcat配置集群负载均衡**"就是实现这一目标的一种常见方案。Nginx是一款高性能的反向代理服务器,常用于处理静态资源和进行负载均衡;Tomcat则是...

    Nginx+KeepAlived+Tomcat负载架构

    本文将详细介绍如何通过`Nginx+KeepAlived+Tomcat`构建一个稳定、高效的负载均衡架构。 #### 二、关键技术介绍 ##### 1. Nginx - **简介**:Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)...

    redis+tomcat+nginx负载均衡配置

    在构建高性能、高可用性的Web服务时,"redis+tomcat+nginx负载均衡配置"是一个常见且有效的架构模式。这个组合充分利用了各个组件的优势,确保系统稳定、响应快速,并能够处理大量的并发请求。以下是关于这个配置的...

    Windows+Nginx+Tomcat搭建负载均衡和集群环境同时实现

    本教程将探讨如何在Windows环境下,利用Nginx作为反向代理和负载均衡器,与Tomcat应用服务器配合,搭建一个负载均衡和集群环境。这种配置能够提升系统的稳定性和处理能力,确保即使在服务器压力大的情况下,也能为...

    Windows+Nginx+Tomcat搭建负载均衡和集群的tomcat压缩包

    本教程将探讨如何在Windows环境中利用Nginx作为反向代理服务器,与多个Tomcat实例配合,搭建一个负载均衡和集群的系统。这个压缩包包含多个版本的Tomcat,即qdky-tomcat-6.0.44.6、qdky-tomcat-6.0.44.5、qdks-...

    nginx+tomcat负载、集群简单搭建

    本文将详细介绍如何在Windows环境下进行Nginx+Tomcat负载均衡及集群的搭建过程,适合初学者参考。 #### 二、准备工作 1. **下载Nginx** - 访问官方下载页面:[http://nginx.org/en/download.html]...

    基于ssm+shiro+redis+nginx tomcat服务器集群管理项目.zip

    基于ssm+shiro+redis+nginx tomcat服务器集群管理项目 基于ssm+shiro+redis+nginx tomcat服务器集群管理项目 基于ssm+shiro+redis+nginx tomcat服务器集群管理项目 基于ssm+shiro+redis+nginx tomcat服务器集群管理...

    Nginx+Tomcat负载均衡企业实战.docx

    本文档主要介绍了 Nginx+Tomcat 负载均衡的企业实战,涵盖了从0开始构建 Nginx WEB 平台、Tomcat WEB 集群、代码发布、Nginx 负载均衡 Tomcat 集群、动静分离、Rewrite 实战等方面的内容。 一、从 0 开始构建 Nginx...

    tomcat+nginx集群

    在构建高性能、高可用性的Web服务时,"tomcat+nginx集群"是一个常见的架构模式。这个模式结合了Tomcat作为应用服务器处理Java EE应用程序,而Nginx则作为反向代理和负载均衡器,确保流量的高效分配和系统的稳定运行...

    Nginx+tomcat+redis

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

    Nginx+tomcat负载均衡集群session复制 windos

    本文将详细介绍如何在Windows环境下,利用Nginx作为反向代理服务器,与Tomcat集群配合实现负载均衡,并进行session复制,确保用户会话在不同服务器之间的一致性。 首先,Nginx是一款轻量级、高性能的HTTP和反向代理...

    Nginx与tomcat 负载均衡

    Nginx与Tomcat的负载均衡是指通过Nginx服务器来实现Tomcat集群的负载均衡,以提高系统的高性能和可扩展性。下面是实现负载均衡的详细步骤和知识点: 一、环境准备 * Nginx 1.8.0 * Apache Tomcat 6.0.33 二、目标...

    Nginx+Tomcat负载均衡配置教程

    ### Nginx+Tomcat负载均衡配置教程 #### 一、Nginx 安装与配置 **1. 下载并安装Nginx** - **下载Nginx**:前往Nginx官方网站下载适合您操作系统的最新版本。推荐下载稳定版以确保运行稳定。 - **解压文件**:将...

    Windows+Nginx+Tomcat搭建负载均衡和集群的nginx压缩包

    本教程将详细介绍如何在Windows环境下利用Nginx作为反向代理和负载均衡器,结合Tomcat服务器搭建一个高可用的集群。Nginx以其高性能、轻量级的特性,在Web服务器领域广泛应用,而Tomcat则是Java应用服务器,主要用于...

    Nginx实现tomcat与weblogic集群的负载均衡及故障处理

    本文将详细讲解如何使用Nginx作为负载均衡器,实现对Tomcat和WebLogic集群的负载均衡以及故障处理。我们将遵循由浅入深的原则,适合初学者和进阶者学习。 首先,我们来看看基础环境。系统为Redhat7.5,JDK版本为1.8...

    Nginx+Tomcat+Redis搭建均衡负载集群

    在搭建均衡负载集群时,首先需要配置Nginx的反向代理和负载均衡设置。在Nginx的配置文件中,可以通过`upstream`块定义一组后端服务器,然后在`server`块中使用`proxy_pass`指令将请求转发到该组服务器。常用的负载...

    nginx+tomcat负载均衡集群思路步骤过程.docx

    【Nginx+Tomcat负载均衡集群部署】 在IT领域,构建高可用和高并发的Web服务是至关重要的。Nginx与Tomcat的组合是一个常见的解决方案,因为Nginx作为反向代理和负载均衡器,能有效分发流量到多个后端Tomcat服务器,...

    tomcat7+nginx+memcached 配置tomcat 集群以及负载均衡

    在构建高性能、高可用性的Web应用系统时,配置Tomcat集群和负载均衡是至关重要的步骤。本主题将详细讲解如何利用Tomcat 7、Nginx和Memcached来实现这一目标,同时关注session共享和Kryo序列化技术。 首先,Tomcat 7...

Global site tag (gtag.js) - Google Analytics