Centos6.2上做nginx和tomcat的集成及负载均衡(已实践)

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

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

原文地址:https://www.cnblogs.com/zhengah/p/4635294.html