文档章节

Nginx + Tomcat Windows下的负载均衡配置

会爬树的蜗牛
 会爬树的蜗牛
发布于 2013/01/13 18:08
字数 706
阅读 3477
收藏 59
点赞 2
评论 4

一、为什么需要对Tomcat服务器做负载均衡?
    Tomcat服务器作为一个Web服务器,其并发数在300-500之间,如果超过500的并发数会出现Tomcat不能响应新的请求的情况,严重影响网站的运行。同时如果访问量非常大的情况下,Tomcat的线程数会不断增加。因此会占据大量内存,严重时出现内存溢出的现象,这时需要重启Tomcat以释放内存,阻断了网站的运行。
    所以对Tomcat做负载均衡便很有必要。目前可以和Tomcat做负载均衡的主流服务器是Apache,但是Nginx由于功能多、配置简单等优点成为很多负载均衡服务器的首选。Nginx的并发数可达到50000,所以理论上可以和Tomcat以1:100的比例来配置,这边可以很好的解决网站并发瓶颈问题。

二、Nginx+Tomca在Windows下负载均衡的配置:
    先秀一下我的环境: Nginx1.3.11 + Tomcat 6.0(2个)、Win 7。
    下面是配置过程:
    1、将nginx-1.3.11.rar直接解压到D:盘。
    2、将apache-tomcat-6.0.26.rar解压到D:盘,既然是做负载均衡将tomcat拷贝两份,分别命名tomcat_1、tomcat_2。
    3、将要发布的项目部署分别部署到两个Tomcat根目录下的webapps下,保证两个Tomcat下的项目名相同。
    4、修改tomcat_2的配置文件,该配置文件位于/conf下,文件名为server.xml, 修改其中的<Server port="8005" shutdown="SHUTDOWN">            为<Server port="8006" shutdown="SHUTDOWN">,修改其中的

<Connector port="8080 protocol="HTTP/1.1" 
          connectionTimeout="20000"
          redirectPort="8443"/>
        为
<Connector port="8088 protocol="HTTP/1.1" 
        connectionTimeout="20000"
        redirectPort="8443"/>


<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
(ajp是一个协议,tomcat可以用来服务器集群,也可以在csdn找到更详细的ajp资料)为
<Connector port="7009" protocol="AJP/1.3" redirectPort="8443" />


5、修改Nginx配置文件nginx.conf,该文件位于Nginx根目录下的/conf目录下
    a、在#gzip on;后面加入下面配置:

upstream localhost {
    server localhost:8080 weight=5;
    server localhost:8080 weight=5;
    ip_hash;
}

    其中server localhost:8080为tomcat_1的启动地址, server localhsot:8088为tomcat_2的启动地址,ip_hash用于做session同步。
    b、修改
location / { 
        root html; 
        index index.html index.htm; 
    }
    改为:
location / { 
            root   html; 
            index  index.html index.htm; 
            proxy_pass   http://localhost; 
            proxy_redirect    off; 
            proxy_set_header   Host $host; 
            proxy_set_header   X-Real-IP $remote_addr; 
            proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;  
            client_max_body_size   10m; 
            client_body_buffer_size   128k; 
            proxy_connect_timeout   90; 
            proxy_send_timeout   90; 
            proxy_read_timeout   90; 
            proxy_buffer_size   4k; 
            proxy_buffers   4 32k; 
            proxy_busy_buffers_size   64k; 
            proxy_temp_file_write_size  64k;         
        }
         其中proxy_pass参数和upstream localhost{}对应。

        经过上面这些步骤,负载均衡配置完成,下面分别启动tomcat_1、tomcat_2,然后双击nginx根目录下nginx.exe文件或者使用start nginx启动(关闭是: nginx -s stop),打开浏览器,输入地址: http://localhost便可看到tomcat的首页了。

了解更多关于Nginx的配置: http://www.howtocn.org/doku.php

© 著作权归作者所有

共有 人打赏支持
会爬树的蜗牛
粉丝 8
博文 18
码字总数 11047
作品 0
成都
程序员
加载中

评论(4)

osc皮皮
osc皮皮
root 路径怎么设置 tomcat里面发布的项目
会爬树的蜗牛
会爬树的蜗牛

引用来自“yvon”的评论

ip_hash是对于ip的负载均衡,如果要实现一些条件的session粘连以及对于session的负载均衡,可以使用jvm_route

我也尝试过jvmroute,不过对session的负载均衡还是有影响!
y
yvon
ip_hash是对于ip的负载均衡,如果要实现一些条件的session粘连以及对于session的负载均衡,可以使用jvm_route
SilenceSu
SilenceSu
学习了!
nginx负载均衡以及静态资源的反向代理实施方案

nginx负载均衡以及静态资源的反向代理实施方案 作者:袁旭云 nginx介绍 nginx (发音同 engine x)是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个B...

IT小香猪 ⋅ 2016/09/01 ⋅ 1

一台服务器上也是可以集群的

一台服务器上也是可以集群的 WINDOWS使用的是:tomcat6.0 , Nginx1.3.8 我们所在的公司主要从事互联网印刷 需要上传图片和描述文件 然后生成PDF 这个文件是WINDOWS服务器上Nginx1.3.8 用于上...

jianmaoLin ⋅ 2013/05/15 ⋅ 1

nginx+tomcat 另类负载均衡

一、部署背景 某服务器A:10.68.4.198 域名:edi.qnb.com ( tomcat应用,web 访问但须帐密认证,其他服务器连接查询却无须认证 ) 因业务需要,需要对A服务器做负载均衡。要求用nginx的upstr...

王九龙 ⋅ 2015/08/28 ⋅ 0

Nginx负载均衡+tomcat+session共享

本文,是笔者工作之余写的,第一是把之前打系统框架的步骤记录下来。第二是将这个过程,谈不上经验,奉献给正在撘这种框架遇到各种bug,各种问题的人们。 看这个之前首先你需要已经用nginx+t...

swayer ⋅ 2014/04/08 ⋅ 2

搭建Nginx + Memcached + Tomcat 集群记录

零:前言 1、单是从软件层面做负载,只能单主nginx服务器,主服务器挂了,系统就挂了 2、实现多台主nginx服务器,可采用DNS负载均衡,即同一个域名绑定多个IP(nginx服务器),按顺序分发 3、...

凡尘里的一根葱 ⋅ 2015/10/22 ⋅ 0

Nginx+Tomcat负载均衡超简易实现(上)

以前经常使用apache+tomcat多实例做负载均衡实现,近两天研究Nginx,下面是nginx+tomcat的负责均衡实现,过程非常简单,比起apache的配置,nginx的配置非常的清晰易懂,也很简洁,配置的过程...

飘雪一郎o ⋅ 2012/12/26 ⋅ 0

用Redis存储Tomcat集群的Session

作者:chszs,转载需注明。博客主页:http://blog.csdn.net/chszs 前段时间,我花了不少时间来寻求一种方法,把新开发的代码推送到到生产系统中部署,生产系统要能够零宕机、对使用用户零影响...

凯文加内特 ⋅ 2016/01/04 ⋅ 2

Nginx 配置实践

nginx 一般用作请求转发,用作服务器集群的负载均衡 典型的高并发集群是 nginx+tomcat(多个) nginx可以高效处理对静态文件的请求,tomcat 负责动态请求 配置范例: #user nobody;worker_pr...

HZCoder ⋅ 2016/03/29 ⋅ 0

Nginx负载均衡

最近迷上了Nginx,真实麻雀虽小,五脏俱全..功能实在强大.. nginx不单可以作为强大的web服务器,也可以作为一个反向代理服务器,而且nginx还可以按照调度规则实现动态、静态页面的分离,可以按...

洋哥6 ⋅ 2011/11/04 ⋅ 2

【Diary Report 2018-1-4】关于FastDFS蛋疼的集群和负载均衡(十四)之Nginx+Tomcat负载均衡

diary_report.jpg Interesting things 今天来配置一下Nginx+Tomcat负载均衡环境。 image.png What did you do today 什么是虚拟主机 虚拟主机是一种特殊的软硬件技术,它可以将网络上的每一台...

cmazxiaoma ⋅ 01/04 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

懒惰根本就不存在

简评:芝加哥大学心理学教授,懒惰根本就不存在。(本文表面讲行为心理学实则讲教育) 金句:以好奇而不是判断来回应一个人的无效行为,是非常有帮助的。 本文「我」代表原作者 E Price。 自...

极光推送 ⋅ 13分钟前 ⋅ 0

Excel提取单元格中最后一个“.”后面的数据

java.lang.String ----- String =TRIM((MID(SUBSTITUTE(B2,".",REPT(" ",99)),(LEN(B2)-LEN(SUBSTITUTE(B2,".","")))*99,99)))...

klog ⋅ 15分钟前 ⋅ 0

mac远程桌面

下载安装remote-desktop-mac Mac beta 客户端 mac通过远程桌面访问windows服务器。

亚林瓜子 ⋅ 19分钟前 ⋅ 0

firrtl

动手---sbt(2)之后,再回头看 chisel第一个实验,根据 https://github.com/freechipsproject/firrtl 发现firrtl没有执行sbt assembly命令,重新执行这个命令,结果成功。如下图: joe@joe-As...

whoisliang ⋅ 23分钟前 ⋅ 0

NIO

一、通道(Channel):用于源节点与目标节点的连接。在 Java NIO 中负责缓冲区中数据的传输。Channel 本身不存储数据,因此需要配合缓冲区进行传输。 二、通道的主要实现类 java.nio.channel...

stars永恒 ⋅ 24分钟前 ⋅ 0

Android悬浮窗的实现

0. 前言   现在很多应用都使用到悬浮窗,例如微信在视频的时候,点击Home键,视频小窗口仍然会在屏幕上显示。这个功能在很多情况下都非常有用。那么今天我们就来实现一下Android悬浮窗,以...

猴亮屏 ⋅ 24分钟前 ⋅ 0

日志采集中的关键技术分析

概述 日志从最初面向人类演变到现在的面向机器发生了巨大的变化。最初的日志主要的消费者是软件工程师,他们通过读取日志来排查问题,如今,大量机器日夜处理日志数据以生成可读性的报告以此...

tqyin ⋅ 25分钟前 ⋅ 0

使用Navicat将数据导出为text文本 然后再导入

将数据导出为text文本效率很高 1. 准备工作 1.1 准备表结构 1.2 目标库 执行生成表结构sql 2.将表数据导出为text文本 生成的text文本 3. 目标库 导入text 4.效果...

Lucky_Me ⋅ 31分钟前 ⋅ 0

IntelliJ IDEA 乱码解决方案 (项目代码、控制台等)

文章介绍了idea下,项目乱码、控制台乱码及运行tomcat控制台乱码的解决方案,文章链接:https://www.cnblogs.com/vhua/p/idea_1.html

Funcy1122 ⋅ 34分钟前 ⋅ 0

IDEA使用sonarLint

一、IDEA如何安装SonarLint插件 1.打开 Idea 2.点击【File】 3.点击【Settings】 4.点击【Plugins】 5.在搜索栏中输入“sonarlint”关键字 6.点击【Install】进行安装 7.重启Idea 二、IDEA如...

开源中国成都区源花 ⋅ 39分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部