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/
相关推荐
配置Nginx+Tomcat集群负载均衡的第一步是安装Nginx和多个Tomcat实例。在多台服务器上部署Tomcat,形成一个集群,确保服务的高可用性。每台服务器上的Tomcat实例都需要配置相同的应用,以处理相同类型的请求。 接...
在构建高性能、高可用性的Web服务环境中,"负载均衡nginx+tomcat+terracotta+nfs+mysql"是一个常见的架构组合。这个组合充分利用了各组件的优势,以实现数据的高效处理、分布式存储以及会话共享,确保系统的稳定性和...
在IT行业中,构建高效、可扩展的Web服务是至关重要的,而"**Nginx+Tomcat配置集群负载均衡**"就是实现这一目标的一种常见方案。Nginx是一款高性能的反向代理服务器,常用于处理静态资源和进行负载均衡;Tomcat则是...
本文将详细介绍如何通过`Nginx+KeepAlived+Tomcat`构建一个稳定、高效的负载均衡架构。 #### 二、关键技术介绍 ##### 1. Nginx - **简介**:Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)...
在构建高性能、高可用性的Web服务时,"redis+tomcat+nginx负载均衡配置"是一个常见且有效的架构模式。这个组合充分利用了各个组件的优势,确保系统稳定、响应快速,并能够处理大量的并发请求。以下是关于这个配置的...
本教程将探讨如何在Windows环境下,利用Nginx作为反向代理和负载均衡器,与Tomcat应用服务器配合,搭建一个负载均衡和集群环境。这种配置能够提升系统的稳定性和处理能力,确保即使在服务器压力大的情况下,也能为...
本教程将探讨如何在Windows环境中利用Nginx作为反向代理服务器,与多个Tomcat实例配合,搭建一个负载均衡和集群的系统。这个压缩包包含多个版本的Tomcat,即qdky-tomcat-6.0.44.6、qdky-tomcat-6.0.44.5、qdks-...
本文将详细介绍如何在Windows环境下进行Nginx+Tomcat负载均衡及集群的搭建过程,适合初学者参考。 #### 二、准备工作 1. **下载Nginx** - 访问官方下载页面:[http://nginx.org/en/download.html]...
基于ssm+shiro+redis+nginx tomcat服务器集群管理项目 基于ssm+shiro+redis+nginx tomcat服务器集群管理项目 基于ssm+shiro+redis+nginx tomcat服务器集群管理项目 基于ssm+shiro+redis+nginx tomcat服务器集群管理...
本文档主要介绍了 Nginx+Tomcat 负载均衡的企业实战,涵盖了从0开始构建 Nginx WEB 平台、Tomcat WEB 集群、代码发布、Nginx 负载均衡 Tomcat 集群、动静分离、Rewrite 实战等方面的内容。 一、从 0 开始构建 Nginx...
在构建高性能、高可用性的Web服务时,"tomcat+nginx集群"是一个常见的架构模式。这个模式结合了Tomcat作为应用服务器处理Java EE应用程序,而Nginx则作为反向代理和负载均衡器,确保流量的高效分配和系统的稳定运行...
- **负载均衡**:Nginx可以基于多种策略(如轮询、最少连接、IP哈希等)分配请求到不同的Tomcat实例,从而实现负载均衡,提高系统的可用性和响应速度。 - **静态资源处理**:Nginx对静态文件(如CSS、JavaScript、...
本文将详细介绍如何在Windows环境下,利用Nginx作为反向代理服务器,与Tomcat集群配合实现负载均衡,并进行session复制,确保用户会话在不同服务器之间的一致性。 首先,Nginx是一款轻量级、高性能的HTTP和反向代理...
Nginx与Tomcat的负载均衡是指通过Nginx服务器来实现Tomcat集群的负载均衡,以提高系统的高性能和可扩展性。下面是实现负载均衡的详细步骤和知识点: 一、环境准备 * Nginx 1.8.0 * Apache Tomcat 6.0.33 二、目标...
### Nginx+Tomcat负载均衡配置教程 #### 一、Nginx 安装与配置 **1. 下载并安装Nginx** - **下载Nginx**:前往Nginx官方网站下载适合您操作系统的最新版本。推荐下载稳定版以确保运行稳定。 - **解压文件**:将...
本教程将详细介绍如何在Windows环境下利用Nginx作为反向代理和负载均衡器,结合Tomcat服务器搭建一个高可用的集群。Nginx以其高性能、轻量级的特性,在Web服务器领域广泛应用,而Tomcat则是Java应用服务器,主要用于...
本文将详细讲解如何使用Nginx作为负载均衡器,实现对Tomcat和WebLogic集群的负载均衡以及故障处理。我们将遵循由浅入深的原则,适合初学者和进阶者学习。 首先,我们来看看基础环境。系统为Redhat7.5,JDK版本为1.8...
在搭建均衡负载集群时,首先需要配置Nginx的反向代理和负载均衡设置。在Nginx的配置文件中,可以通过`upstream`块定义一组后端服务器,然后在`server`块中使用`proxy_pass`指令将请求转发到该组服务器。常用的负载...
【Nginx+Tomcat负载均衡集群部署】 在IT领域,构建高可用和高并发的Web服务是至关重要的。Nginx与Tomcat的组合是一个常见的解决方案,因为Nginx作为反向代理和负载均衡器,能有效分发流量到多个后端Tomcat服务器,...
在构建高性能、高可用性的Web应用系统时,配置Tomcat集群和负载均衡是至关重要的步骤。本主题将详细讲解如何利用Tomcat 7、Nginx和Memcached来实现这一目标,同时关注session共享和Kryo序列化技术。 首先,Tomcat 7...