系统总是频繁更新,为了避免更新系统的时候领导看不到东西,打算用ngix做代理,后台部署两个tomcat做负载均衡,避免更新一台就无法使用系统的问题,这两天看了写资料,把几个关键点记录在这里以便备忘。

环境:jdk,1.7,tomcat7,nginx1.5.8; 基于64位的windows配置

第一步:更改tomcat三个端口,保证同一台机器上可以运行两个tomcat,更改的端口包括server port,两个connector port,xml配置参见下面,为了避免文件过大,删除了注释和无关的配置:

  1. <?xml version='1.0' encoding='utf-8'?>
  2. <Server port="18005" shutdown="SHUTDOWN">
  3. <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
  4. <!--Initialize Jasper prior to webapps are loaded. Documentation at /docs/jasper-howto.html -->
  5. <Listener className="org.apache.catalina.core.JasperListener" />
  6. <!-- Prevent memory leaks due to use of particular java/javax APIs-->
  7. <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
  8. <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
  9. <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />
  10. <GlobalNamingResources>
  11. <Resource name="UserDatabase" auth="Container"
  12. type="org.apache.catalina.UserDatabase"
  13. description="User database that can be updated and saved"
  14. factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
  15. pathname="conf/tomcat-users.xml" />
  16. </GlobalNamingResources>
  17. <Service name="Catalina">
  18. <Connector port="8082" protocol="HTTP/1.1"
  19. connectionTimeout="20000"
  20. redirectPort="8443" />
  21. <Connector port="18009" protocol="AJP/1.3" redirectPort="8443" />
  22. 。。。。。
  23. </Service>
  24. </Server>

第二部,配置nginx(负载均衡):

http节点下增加如下配置:

  1. upstream localhost {
  2. #针对不同ip的用户请求分配固定的tomcat响应其请求。
  3. ip_hash;
  4. #配置tomcat服务器的ip:端口,处理请求权重
  5. server localhost:8080 weight=5;
  6. server localhost:8082 weight=5;
  7. }

http的节点下更改location/节点配置:

  1. location / {
  2. #root   html;
  3. #index  index.html index.htm;
  4. proxy_connect_timeout   3;
  5. proxy_send_timeout      30;
  6. proxy_read_timeout      30;
  7. proxy_pass http://localhost;
  8. }

配置完毕后,启动两个tomcat,再启动nginx,启动ngix方式:进入dos命令窗口,切换至nginx主目录,输入命令nginx.exe即可,

停止nginx可以使用nginx.exe -s stop

了解更详细的步骤参考下面两个链接:

http://ari.iteye.com

http://www.blogjava.net/tunaic/archive/2009/11/30/304212.html

CentOS系统下做nginx和tomcat负载均衡的更多相关文章

  1. Linux配置Nginx+Tomcat负载均衡

    cd /usr/local/tomcat1/webapps/ROOT/ tar -zxvf nginx-1.14.2.tar.gz -C /usr/local 一.Linux配置Nginx 一.下载N ...

  2. 基于nginx的tomcat负载均衡和集群

    要集群tomcat主要是解决SESSION共享的问题,因此我利用memcached来保存session,多台TOMCAT服务器即可共享SESSION了. 你可以自己写tomcat的扩展来保存SESSI ...

  3. Nginx+Tomcat 负载均衡、动静分离集群

    目录: 一.Nginx负载均衡实现原理 二.Nginx动静分离实现原理 三.Nginx+Tomcat 负载均衡.动静分离集群部署 一.Nginx负载均衡实现原理 1.Nginx实现负载均衡是通过反向代 ...

  4. nginx多tomcat负载均衡

    目的 先说说我要干什么,如题:使用nginx实现多个tomcat服务器的负载均衡. nginx 大名鼎鼎,相信很多人都听过,以前感觉很厉害,用了之后发现真的很厉害.nginx可以做以下几件事: 反向代 ...

  5. centos系统下安装Nginx

    参考链接 CentOS 7 用 yum 安装 Nginx Nginx负载均衡配置 下载并安装 #使用以下命令 sudo yum install -y nginx #sudo表示使用管理员权限运行命令 ...

  6. Linux(CentOS)系统下设置nginx开机自启动

    Nginx 是一个很强大的高性能Web和反向代理服务器.下面介绍在linux下安装后,如何设置开机自启动.首先,在linux系统的/etc/init.d/目录下创建nginx文件,使用如下命令:vi ...

  7. 配置apache和nginx的tomcat负载均衡

    概述 本篇文章主要介绍apache和nginx的相关配置,tomcat的相关安装配置我在前面有写过一篇,详细介绍通过两种配置方法配置nginx. tomcat配置参考:http://www.cnblo ...

  8. Nginx和Tomcat负载均衡实现session共享(转)

    以前的项目使用Nginx作为反向代理实现了多个Tomcat的负载均衡,为了实现多个Tomcat之间的session共享,使用了开源的Memcached-Session-Manager框架. 此框架的优 ...

  9. Nginx和Tomcat负载均衡实现session共享

    以前的项目使用Nginx作为反向代理实现了多个Tomcat的负载均衡,为了实现多个Tomcat之间的session共享,使用了开源的Memcached-Session-Manager框架. 此框架的优 ...

随机推荐

  1. Android之EditText组件学习

    一.基础学习 1.Button是TextView的一个子类,所以按钮本身是一个特殊的文本,属性和TextView相似 2.EditText类似html里的input type="text&q ...

  2. HTML5解决跨域问题

    HTML5解决跨域问题 由于浏览器的同源策略,网络连接的跨域访问是不被允许的,XHR对象不能直接与非同源的网站处理数据交互.而同源指的是什么呢?同源的范畴包括:规则(协议),主机号(域名.ip等),端 ...

  3. IEEE二进制浮点数算术标准(IEEE 754)

    整理自IEEE 754 IEEE二进制浮点数算术标准(IEEE 754)是20世纪80年代以来最广泛使用的浮点数运算标准,为许多CPU与浮点运算器所采用.这个标准定义了表示浮点数的格式(包括负零-0) ...

  4. java虚拟机运行机制

    转自java虚拟机运行机制 首先简单阐述下解释型语言和编译型语言的联系与区别. 编译型语言是通过编译器将程序编译成目标机器所能识别的机器码,而解释型语言不需要编译过程.由该语言的解释器读取脚本,按照语 ...

  5. 这个HEAD FIRST系统不错哟

    以前看过JAVA,现 在是PYTHON,接下来还下载了SQL,HTML系统看看..

  6. 【BZOJ 3110】 [Zjoi2013]K大数查询(整体二分)

    [题目] Description 有N个位置,M个操作.操作有两种,每次操作如果是1 a b c的形式表示在第a个位置到第b个位置,每个位置加入一个数c如果是2 a b c形式,表示询问从第a个位置到 ...

  7. ANDROID_MARS学习笔记_S03_005_Geocoder、AsyncTask

    一.代码1.xml(1)AndroidManifest.xml <uses-permission android:name="android.permission.ACCESS_FIN ...

  8. [置顶] 【Git入门之一】Git是神马?

    1.Git是神马? 一个开源的分布式版本控制系统,可以有效的高速的控制管理各种从小到大的项目版本.他的作者就是大名鼎鼎的Linux系统创始人Linus. 2.分布式又是神马? 先看看集中式.简单说来, ...

  9. 结论: blocking_query 是当前堵塞其他会话正在运行的SQL.而不是原始堵塞SQL

    查看当前session线程号 mysql> select connection_id(); +-----------------+ | connection_id() | +---------- ...

  10. python 替换windows换行符为unix格式

    windows 默认换行符为 \r\n; unix默认换行符为 \n; 所以当win下编辑的脚本在linux下显示末尾多了^M: 换行符修改为同一的unix格式脚本如下: def run(path,f ...