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

2013-01-13  来源:本站原创  分类:nginx  人气:9 

一、为什么需要对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

相关文章
  • Nginx + Tomcat Windows下的负载均衡配置 2013-01-13

    一.为什么需要对Tomcat服务器做负载均衡? Tomcat服务器作为一个Web服务器,其并发数在300-500之间,如果超过500的并发数会出现Tomcat不能响应新的请求的情况,严重影响网站的运行.同时如果访问量非常大的情况下,Tomcat的线程数会不断增加.因此会占据大量内存,严重时出现内存溢出的现象,这时需要重启Tomcat以释放内存,阻断了网站的运行. 所以对Tomcat做负载均衡便很有必要.目前可以和Tomcat做负载均衡的主流服务器是Apache,但是Nginx由于功能多.配置简单

  • nginx 负载均衡配置 - windows 2013-02-27

    虽然说windows上的nginx在官方文档中提到"仅作为测试"之用,但对于小规模并发场景还是比apache有不小的优势.所以,本文也将其作为windows服务器上负载均衡的主要工具进行说明. 配置实例 #user nobody; #指定nginx进程数,通常与CPU数相一致.特别是在windows平台中,这一数值一般只能设置为1. worker_processes 1; #error_log logs/error.log; #error_log logs/error.log noti

  • Nginx 高并发负载均衡配置详解 2015-04-30

    转载自:http://www.php100.com/html/program/nginx/2013/0905/5525.html 负载均衡是我们大流量网站要做的一个东西,下面我来给大家介绍在Nginx服务器上进行负载均衡配置方法,希望对有需要的同学有所帮助哦. 负载均衡 先来简单了解一下什么是负载均衡,单从字面上的意思来理解就可以解释N台服务器平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况.那么负载均衡的前提就是要有多台服务器才能实现,也就是两台以上即可. 测试环境 由于没有服

  • nginx+rsync+inotify实现负载均衡配置方法 2014-05-18

    这篇文章主要介绍了nginx+rsync+inotify实现负载均衡配置方法,需要的朋友可以参考下 实验环境 前端nginx:ip 192.168.6.242,对后端的wordpress网站做反向代理实现复杂均衡 后端nginx:ip 192.168.6.36,192.168.6.205都部署wordpress,并使用相同的数据库 1.在后端的两个wordpress上配置rsync+inotify,两服务器都开启rsync服务,并且通过inotify分别向对方同步数据 下面配置192.168.6

  • 5种nginx负载均衡配置方法分享 2014-11-04

    这篇文章主要介绍了5种nginx负载均衡配置方法分享,分别是nginx自带的3种方法和2种第三方配置方法,需要的朋友可以参考下 一.轮询(默认) 每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除. 二.weight 指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况. 例如: upstream bakend { server 192.168.0.14 weight=10; server 192.168.0.15 weight=10; } 三

  • Nginx做NodeJS应用负载均衡配置实例 2014-11-09

    这篇文章主要介绍了Nginx做NodeJS应用负载均衡配置实例,本文直接给出配置实例,需要的朋友可以参考下 负载均衡可以把用户的请求分摊到多个服务器上进行处理,从而实现了对海量用户的访问支持.负载均衡的架构如图所示: 对于复杂的Web应用来说,用Nginx做前端负载均衡是理所当然的事. 下面,我们用Nginx做NodeJS应用的负载均衡. 1.配置Nginx修改nginx.conf: upstream sample { server 127.0.0.1:3000; server 127.0.0.

  • Nginx 简单的负载均衡配置示例 2015-03-21

    Nginx 简单的负载均衡配置示例,需要的朋友可以参考下. 用户访问http://www.net-hb.com.cn,将其负载均衡到192.168.1.2:80.192.168.1.3:80.192.168.1.4:80.192.168.1.5:80四台服务器. 用户访问http://www.jb51.net,将其负载均衡到192.168.1.7服务器的8080.8081.8082端口. 以下为配置文件nginx.conf: 引用 [table=95%][tr][td]user www www;

  • Nginx的负载均衡配置范例(用upstream和proxy实现) 2012-12-27

    在web应用中,当网站的访问量大的时候很自然的就会想到用多台web服务器集群去分担单台访问的压力,对于小的网站,自然没有大量的现金去买优秀的负载均衡的硬件设备.那么nginx做代理前端实现负载均衡的目的会是一个很好的选择. 简单的范例: upstream load_balance { server localhost:8088 ; server 192.168.1.4:8080 down; server home.ucenter weight=2; server backserver:9100

  • apache2+tomcat6负载均衡配置方法 2012-05-18

    Apache2+tomcat6负载均衡配置方法(转载) 一.apache2安装 1.mod_jk-httpd-2.2.3.so复制到APACHE安装目录下的modules目录 2.在目录modules下新建一个workers.properties文件,用记事本打开workers.properties文件,写入如下内容: worker.list = loadbalancer,tomcat1,tomcat2 #server 列表 #========controller,负载均衡控制器========

  • LVS+Keepalived构建高可用负载均衡配置方法(配置篇) 2014-04-12

    这篇文章主要介绍了LVS+Keepalived构建高可用负载均衡配置方法,需要的朋友可以参考下 一. LVS简介 LVS是Linux Virtual Server的简称,也就是Linux虚拟服务器, 是一个由章文嵩博士发起的自由软件项目,它的官方站点是www.linuxvirtualserver.org.现在LVS已经是 Linux标准内核的一部分,在Linux2.4内核以前,使用LVS时必须要重新编译内核以支持LVS功能模块,但是从Linux2.4内核以后,已经完全内置了LVS的各个功能模块,

  • Python+Django在windows下的开发环境配置图解 2014-04-12

    Python+Django在windows下的开发环境配置图解教程,需要的朋友可以参考下. 1 安装配置开发环境 1.1 准备安装 下载以下软件 Eclipse for C/C++ SUN JDK 1.6 不一定要1.6,1.5的也可以 Python3.1 Python2.6.4 Pythone2.5.2 mod_python-3.3.1.win32-py2.5-Apache2.2 MySQL-python-1.2.2.win32-py2.5 pysqlite-2.5.5.win32-py2.5

  • Windows下PHP安装路径配置错误导致Apache无法启动的解决方法 2015-01-14

    这篇文章主要介绍了Windows下PHP安装路径配置错误导致Apache无法启动的解决方法,本文可以说是一个引号引发的悲剧,需要的朋友可以参考下 LoadModule php5_module "C(/D):/Program Files/php5/php5apache2_2.dll" PHP安装路径引起的apache无法启动错误 今天给一同事的PC机安装部署web服务的时候,按同事要求把所有程序文件放到安装目录的program files下,于是我把apache安装到了c:\progra

  • MySQL安装与应用[Windows下的安装与配置] 2012-03-09

    Windows下的安装与配置 本文介绍Windows XP下的安装与配置. 要想在Windows中运行MySQL,需要: Ø 32位Windows操作系统,例如9x.Me.NT.2000.XP或Windows Server 2003. 基于Windows NT的操作系统(NT,2000,XP,2003),将MySQL服务器做为服务来运行.强烈建议使用基于Windows NT的操作系统. Ø TCP/IP协议支持(也许是所有数据库系统的基本要求了). Ø Windows版本MySQL二进制分发版,

  • Apache+Jetty负载均衡配置 2015-04-03

    Apache和jetty组合使用有三种方式: 1. 使用Apache mod_proxy和一个普通的Jetty HTTP连接器. 2. 使用Apache mod_proxy_ajp和Jetty AJP连接器. 3. 使用Apache mod_jk和Jetty AJP连接器. 其中,Jetty推荐使用第一种.推荐理由如下: 1. 使用HTTP,Jetty的性能更好. 2. AJP协议文档缺乏,且许多版本是违规的. 如果要使用AJP,mod_proxy_ajp优于mod_jk.以前,mod_jk的负

  • Nginx+Windows负载均衡配置方法 2015-03-20

    Nginx负载均衡如何才能实现呢?这个问题有很多的程序员都希望知道,下面我们就向大家详细的介绍有关Nginx负载均衡的信息 一.下载Nginx http://nginx.org/download/nginx-1.2.5.zip 解压到C:\nginx目录下 二.在两台服务器上分别建一个网站: S1:192.168.16.35:8054 S2:192.168.16.16:8089 二.找到目录 C:\nginx\conf\nginx.conf 打开nginx.conf 配置如下: #使用的用户和组

  • Nginx+tomcat负载均衡配置 2013-10-17

    a.配置2个tomcat.直接复制一份tomcat在同级目录下,看起来是这样: D:\apache-tomcat-6.0.26 D:\apache-tomcat-6.0.26_2 b.配置"环境变量",新建CATALINA_HOME,值是D:\apache-tomcat-6.0.26,再新建CATALINA2_HOME,值是D:\apache-tomcat-6.0.26_2:检查两个tomcat是否都能分别启动: c.修改D:\apache-tomcat-6.0.26\conf\ser

  • Tomcat下的负载均衡 2010-10-31

    通常在建立网站的时候,稳定性是必须认真对待的事情.本文将介绍如何使用Tomcat的JK连接器实现网站的负载均衡以及会话共享.本文中使用的环境为Tomcat 7.0.2.Apache2.2.JK 1.2.28. JK连接器是通过AJP协议与Tomcat服务器进行通讯的,Tomcat默认的AJP Connector的端口是8009.JK的配置最关键的有三个文件,分别是 httpd.conf:Apache服务器的配置文件,用来加载JK模块以及指定JK配置文件信息 workers.properties:

  • nginx简单的负载均衡配置 2015-04-24

    今天做了一个nginx简单的负载均衡测试,在这里跟大家分享一下.如下是我的示意图: 安装nginx的步骤在我的上几篇文章里面都有,在这里介绍了. 一.下面我们看nginx的配置文件"nginx.conf" user www www; worker_processes 4; error_log /data1/logs/nginx_error.log crit; pid /usr/local/webserver/nginx/nginx.pid; #Specifies the value f

  • nginx负载均衡配置 2015-04-25

    #user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; pid /var/run/nginx/nginx.pid; events { worker_connections 1024; multi_accept on; use epoll; } http { i

  • nginx 作为反向代理实现负载均衡的例子 2014-05-04

    以下我们就来举例说明如何使用 nginx 实现负载均衡.因为nginx在处理并发方面的优势,现在这个应用非常常见. nginx 这个轻量级.高性能的 web server 主要可以干两件事情: 〉直接作为http server(代替apache,对PHP需要FastCGI处理器支持): 〉另外一个功能就是作为反向代理服务器实现负载均衡 以下我们就来举例说明如何使用 nginx 实现负载均衡.因为nginx在处理并发方面的优势,现在这个应用非常常见.当然了Apache的 mod_proxy和mod