文档章节

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

会爬树的蜗牛
 会爬树的蜗牛
发布于 2013/01/13 18:08
字数 706
阅读 3541
收藏 59

一、为什么需要对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
博文 39
码字总数 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
477
1
Nginx在Windows平台的配置

1.1.1 课程目标: 课程目标: 能够使用Nginx搭建Tomcat集群,并完成负载均衡. 1.1.2 Nginx的概述: 什么是Nginx: 为什么使用Nginx: 度娘的解释: 背景: 互联网飞速发展的今天,大用户量高并发已经...

pxk
2017/10/29
0
1
day24_Nginx学习笔记

一、测试 二、代理      反向代理方式实际上就是一台负责转发的代理服务器,貌似充当了真正服务器的功能,但实际上并不是,代理服务器只是充当了转发的作用,并且从真正的服务器那里取得返...

黑泽明军
06/15
0
0
nginx+tomcat 另类负载均衡

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

王九龙
2015/08/28
194
0
搭建Nginx + Memcached + Tomcat 集群记录

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

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

没有更多内容

加载失败,请刷新页面

加载更多

w, vmstat, top, sar, nload命令查看系统状态信息

w/uptime 查看系统负载 cat /proc/cpuinfo 查看cpu核数 vmstat 监控系统状态,用法 vmstat 1,关键的几列: r, b, swpd, si, so, bi, bo, us, wa top 查看进程使用资源情况 top -c 显示详细的...

野雪球
今天
1
0
小白创建一个spring boot项目

进入 https://start.spring.io/

lilugirl
今天
2
0
Alibaba Java诊断利器Arthas实践--使用redefine排查应用奇怪的日志来源

背景 随着应用越来越复杂,依赖越来越多,日志系统越来越混乱,有时会出现一些奇怪的日志,比如: [] [] [] No credential found 那么怎样排查这些奇怪的日志从哪里打印出来的呢?因为搞不清...

hengyunabc
今天
2
0
home hosts

home hosts lwk@qwfys:~$ cat /etc/hosts127.0.0.1 localhost127.0.1.1 qwfys192.168.56.101vm600.qwfys.com39.108.212.91alpha1.ppy.com39.108.117.122alpha2.p......

qwfys
今天
3
0
大数据教程(6.1)hadoop生态圈介绍及就业前景

1. HADOOP背景介绍 1.1、什么是HADOOP 1.HADOOP是apache旗下的一套开源软件平台 2.HADOOP提供的功能:利用服务器集群,根据用户的自定义业务逻辑,对海量数据进行分布式处理 3.HADOOP的核心组...

em_aaron
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部