Centos6.2上做nginx和tomcat的集成及负载均衡

---------------------------------------------------------Jdk-------------------------------------------------------------------

1:centos上安装jdk6

Jdk:

jdk-6u34-linux-i586.bin

 安装命令:

./jdk-1_5_0_06-linux-i586.bin

配置环境变量如下

用vi打开/etc/profile在文件尾部添加如下内容

 
 

JAVA_HOME="/usr/local/jdk"

CLASS_PATH="$JAVA_HOME/lib:JAVA_HOME/jre/lib"

PATH=".:$PATH:%JAVA_HOME/bin%"

export JAVA_HOME CATALINA_HOME

测试:

通过java –version命令测试是否会出现相关java信息,有则安装成功.如下

---------------------------------------------------------Jdk-------------------------------------------------------------------

---------------------------------------------------------Nginx----------------------------------------------------------------

2:安装nginx

 Nginx:

下载: http://nginx.org/en/download.html

安装命令:

Step 1: rpm -ivh nginx-release-centos-6-0.el6.ngx.noarch.rpm

Step 2: yum install nginx

会显示一大堆信息,问你ok不ok啊:Is this ok [y/N]:
输入y,屏幕滚了一会之后就安装完毕,最后提示“Complete!”就是安完了。

软件说明:   
1 配置所在目录:/etc/nginx/
2 PID目录:/var/run/nginx.pid
3 错误日志:/var/log/nginx/error.log

  Nginx常用命令:

1 启动:nginx
2 重启:killall -HUP nginx
3 测试配置:nginx –t

测试:

用命令”nginx”起动服务,在浏览器中输入”127.0.0.1”如果出现欢迎信息说明安装成功

---------------------------------------------------------Nginx----------------------------------------------------------------

---------------------------------------------------------Tomcat--------------------------------------------------------------

3:安装tomcat

  Tomcat:

apache-tomcat-6.0.35.tar.gz

 安装命令:

tar xvzf apache-tomcat-6.0.35.tar.gz (解压到了当前目录)

mv tomcat(源) 
/usr/local/tomcat(目) ---移到目标目录

  常用命令:

起动:bin/startup.sh

关闭:bin/shutdown.sh

测试:

127.0.0.1:8080是否出现tomcat信息页面

---------------------------------------------------------Tomcat--------------------------------------------------------------

---------------------------------------------------------整合-----------------------------------------------------------------

4:整合nginx和tomcat

 在/etc/nginx/nginx.conf中添加如下内容  http {}添加

upstream www.imeixi.cn {

server 127.0.0.1:8080 weight=1;#转向tomcat

}

在 /etc/nginx/conf.d/default.conf 
中修改

server
{

listen       80;

server_name localhost; //  也可以是www.imeixi.cn

location / {

root   html;

index index.jsp index.html
index.htm;

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;

proxy_pass http://www.mygogo.com;    //这句是指转发(将nginx作为反向代理配置)

}

error_page   500 502 503 504 /50x.html;

location = /50x.html {

root   html;

}

}

添加之后需要重启nginx生效

 
 

killall
-HUP nginx

测试:

在tomcat中加入一个简单web应用(一个html页面就ok),分别访问127.0.0.1/yourweb(nginx—图1)和127.0.0.1:8080/yourweb(tomcat 图2)是否会出现相同的页面,有则成功

 
   

图1

图2

---------------------------------------------------------整合-----------------------------------------------------------------

---------------------------------------------------------负载均衡----------------------------------------------------------

5:负载均衡

1、 架构图:

 
   

2、安装第二个tomcat:

由于是在同一台机子上安装两个tomcat,所以要做相应的修改,如下

1:从第一个tomcat生成新的tomcat

 
 

cp /usr/local/tomcat /usr/local/tomcat2

2:在/etc/profile文件尾部添加如下内容   【可省略】

CATALINA_2_BASE=/usr/local/tomcat2

CATALINA_2_HOME=/usr/local/tomcat2

TOMCAT_2_HOME=/usr/local/tomcat2

export CATALINA_2_BASE CATALINA_2_HOME TOMCAT_2_HOME

3:在tomcat2/bin/catalina.sh文件顶部添加如下内容   【可省略】

 
 

export JAVA_HOME=/usr/local/jdk

export PATH=$PATH:$JAVA_HOME/bin

export CLASSPATH=$JAVA_HOME/lib

export CATALINA_HOME=$CATALINA_2_HOME

export CATALINA_BASE=$CATALINA_2_BASE

更改profile后,使用
#source  /etc/profile 
使新配置的环境变量生效

4:修改tomcat2/conf/server.xml文件

修改三个监听端口

<Server port="8005"
shutdown="SHUTDOWN">改成<Server port="9005" shutdown="SHUTDOWN">

<Connector port="8080"
protocol="HTTP/1.1"

connectionTimeout="20000"

redirectPort="8443" />改成<Connector port="9080" protocol="HTTP/1.1"

connectionTimeout="20000"

redirectPort="8443" />

<Connector port="8009" protocol="AJP/1.3"
redirectPort="8443" />改成<Connector port="9009" protocol="AJP/1.3"
redirectPort="8443" />

5:在两个tomcat下发布相同的web应用并且起动两个tomcat

 
 

/usr/local/tomcat/bin/startup.sh

/usr/local/tomcat2/bin/startup.sh

3、配置nginx

 

在/etc/nginx/nginx.conf中添加如下内容  http {}
添加

 

upstream www.imeixi.cn {

server 127.0.0.1:8080 weight=1;              //server localhost:8080 weight=1(权重)

server 127.0.0.1:9080 weight=1;              //server localhost:9080 weight=5

}


/etc/nginx/conf.d/default.conf
中不做改动。

server {

listen       80;

server_name www.imeixi.cn;

location / {

root   html;

index index.jsp index.html
index.htm;

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;

proxy_pass http://www.mygogo.com;

}

error_page   500 502 503 504 /50x.html;

location = /50x.html {

root   html;

}

}

添加之后需要重启nginx生效

 
 

killall
-HUP nginx

4、测试:

访问www.imeixi.cn  将以轮寻的方式访问两个tomcat

---------------------------------------------------------负载均衡----------------------------------------------------------

Centos6.2上做nginx和tomcat的集成及负载均衡(已实践)的更多相关文章

  1. 【Linux运维-集群技术进阶】Nginx+Keepalived+Tomcat搭建高可用/负载均衡/动静分离的Webserver集群

    额.博客名字有点长.. . 前言 最终到这篇文章了,心情是有点激动的. 由于这篇文章会集中曾经博客讲到的全部Nginx功能点.包含主要的负载均衡,还有动静分离技术再加上这篇文章的重点.通过Keepal ...

  2. Nginx实现tomcat集群进行负载均衡

    一.背景 随着业务量和用户数量的激增,单一的tomcat部署应用已经无法满足性能需求,而且对于每次发布项目期间服务不可用的问题也凸显,既然出现了这个问题,那么我们本文就借助nginx来完美的解决这个问 ...

  3. Nginx部署tomcat/wildfly集群负载均衡

    1.调度器配置: docker run -p 80:80 --name nginx --restart=always  -v /root/nginx/www/:/usr/share/nginx/htm ...

  4. 实战Apache+Tomcat集群和负载均衡

    实战Apache+Tomcat集群和负载均衡 目录 1.    什么是J2EE集群... 3 1.1.     序言... 3 1.2.     基本术语... 3 伸缩性(Scalability): ...

  5. tomcat集群和负载均衡的实现(session同步)

      (一)环境说明 (1)服务器有4台,一台安装apache,三台安装tomcat (2)apache2.0.55.tomcat5.5.15.jk2.0.4.jdk1.5.6或jdk1.4.2 (3) ...

  6. 图文解说:Nginx+tomcat配置集群负载均衡

    图文解说:Nginx+tomcat配置集群负载均衡 博客分类: appserver nginxTomcatUbuntuLinux网络应用  作者:niumd Blog:http://ari.iteye ...

  7. 排查nginx、tomcat内存和服务器负载之后

    最近客户现在提出系统访问非常慢,需要优化提升访问速度,在排查了nginx.tomcat内存和服务器负载之后,判断是数据库查询速度慢,进一步排查发现是因为部分视图和表查询特别慢导致了整个系统的响应时间特 ...

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

     Nginx + Tomcat Windows下的负载均衡配置 一.为什么需要对Tomcat服务器做负载均衡?    Tomcat服务器作为一个Web服务器,其并发数在300-500之间,如果超过50 ...

  9. 搭建 Keepalived + Nginx + Tomcat 的高可用负载均衡架构

    1 概述 初期的互联网企业由于业务量较小,所以一般单机部署,实现单点访问即可满足业务的需求,这也是最简单的部署方式,但是随着业务的不断扩大,系统的访问量逐渐的上升,单机部署的模式已无法承载现有的业务量 ...

随机推荐

  1. 《Java并发编程实战》学习笔记

    第2章 线程安全性 正确性: 某个类的行为与其规范完全一致. 2.1线程安全: 当多个线程访问某个类时,不管运行时环境采用何种调度方式或者这些线程将如何交替执行,并且在主调代码中不需要任何额外的同步或 ...

  2. codeforces 671C

    题意定义f(l,r)为去掉[l,r]部分后剩下的数任意两个数的最大公约数的最大值 现在求f(l,r)的和 由于每个数ai最大只有200000,因此我们穷举因子x,记录以其为因子的a[i]的i值并按i升 ...

  3. java反射(基本知识)

    在java中反射降低了模块间的依赖性这个过程称解耦---高内聚,低耦合 在java中,万物皆对象,则将字节码看成一个对象,将一个方法看成一个对象..... 反射--剖析类,分析类的字节码,产生对象的字 ...

  4. js中OOP小指南

    js中OOP小指南 在指南中,我将尝试解析以面向对象规范聚焦的es6的新特性. 首先, 什么是设计模式 范例是某个事务的例子或模型,在某种情况下,按照一种模式创建了计算机程序. 什么是面向对象 显然你 ...

  5. 二分图匹配【p2147】课程

    Description n个学生去p个课堂,每一个学生都有自己的课堂,并且每个学生只能去一个课堂,题目要求能够安排每一个课堂都有人吗? Input 第一行是测试数据的个数, 每组测试数据的开始分别是p ...

  6. LoadRunner系列之---web_set_sockets_options,解决No buffer space available错误

    1. 如果在系统运行过程中出现"No buffer space available"或者出现大量连接出现wait的时候, 如何解决? 解决办法: 保证迭代结束后关闭所有的链接: 在 ...

  7. Android技巧:查看当前界面对应的活动

    常常接手别人的android代码,非常头疼不知道界面所对应的活动是哪一个.下面所说的方法可以完美解决. 新建一个BaseActivity类,继承自AppCompatActivity,并重写onCrea ...

  8. luogu P1026 统计单词个数

    题目链接 luogu P1026 统计单词个数 题解 贪心的预处理母本串从i到j的最大单词数 然后dp[i][j] 表示从前i个切了k次最优解 转移显然 代码 #include<cstdio&g ...

  9. [Codeforces 35E] Parade

    Link: Codeforces 35E 传送门 Brief Intro: 给定$n$个矩形,求出轮廓线的所有顶点 Solution: 对于此类可拆分成多个事件点的题目,使用扫描线的方式 将每个矩形分 ...

  10. POJ 1180 Batch Scheduling(斜率优化DP)

    [题目链接] http://poj.org/problem?id=1180 [题目大意] N个任务排成一个序列在一台机器上等待完成(顺序不得改变), 这N个任务被分成若干批,每批包含相邻的若干任务. ...