文档章节

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

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

#程序员薪资揭榜#你做程序员几年了?月薪多少?发量还在么?>>>

一、为什么需要对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+Tomcat在Windows下做负载均衡

一、 为什么需要对Tomcat服务器做负载均衡 Tomcat服务器作为一个Web服务器,其并发数在300-500之间,如果有超过500的并发数便会出现Tomcat不能响应新的请求的情况,严重影响网站的运行。另外...

osc_iacxc7xi
2018/07/27
2
0
nginx负载均衡以及静态资源的反向代理实施方案

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

IT小香猪
2016/09/01
846
1
Nginx在Windows平台的配置

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

pxk
2017/10/29
64
1
Centos7上配置nginx的负载均衡

前言 在配置nginx负载均衡前.我们需要明白几个名词的概念 注: 如果不小心忘了tomcat和nginx的启动,关闭命令,可参考写在文章最后的命令 一 重要的概念理解 1 什么是nginx呢? Nginx是一个web服...

osc_g5vuxtsj
04/16
2
0
Nginx总结(六)nginx实现负载均衡

前面讲了如何配置Nginx虚拟主机,大家可以去这里看看nginx系列文章:https://www.cnblogs.com/zhangweizhong/category/1529997.html 今天要说的是如何配置nginx和tomcat实现反向代理。 需要说...

osc_cw97bsoa
04/16
2
0

没有更多内容

加载失败,请刷新页面

加载更多

【JAVA习题五】将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。

import java.util.Scanner;public class Fenjieshu分解数 { public static void main(String[] args) { // TODO Auto-generated method stub Scanner n=new Scanner(Sy......

osc_7rnzlqhm
14分钟前
15
0
Eclipse 安装Web Service、Axis2插件

Eclipse 安装Web Service、Axis2插件 一. 下载Apache Axis2及相关插件 下载地址: http://axis.apache.org/axis2/java/core/download.cgi 二. 解压 axis2-eclipse-codegen-plugin-1.7.3.zip......

osc_8hwmnuba
16分钟前
21
0
CAD如何输入文本?迅捷CAD编辑器文本输入更快捷

在CAD文件中,如何输入文本呢?相信很多小伙伴们,对于如何使用“迅捷CAD编辑器”给CAD文件输入文本,还是有些不够清楚的。那么,下面小编就给小伙伴们分享一下,如何使用它更快捷地输入文本...

深蓝月上
16分钟前
19
0
【金融】京东白条分期支付业务流程

1.京东白条分期支付业务流程 2.京东白条分期支付前端页面截图(H5) 2.1 京东商城 京东商城仅商详模块展示白条分期详情。包含: 2.2 京东数科(收银台) 2.2.1 判断是否登录 如果用户未登录,...

osc_wxsc35it
17分钟前
13
0
PDF怎么修改表单?高效办公就选这款PDF编辑器软件

在PDF文档中,怎么进行修改表单的操作呢?想要高效率的办公,小伙伴们就选择这款PDF编辑器软件吧。当面对一些需要进行修改表单操作的PDF文档,办公室小伙伴们是不是经常会感觉到头疼,不知道...

开源86
17分钟前
25
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部