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

核能气质少年 提交于 2019-11-30 21:53:10

--------------------------------------------------------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/lib%"

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

   [root@centos1 nginx]#java -version

   java version "1.6.0_20"

   openJDK Runtime Environment (IcedTea6 1.9.7) (rhel-1.39.1.9.7.el6-x86_64)

   openJDK 64-Bit Server VM (build 19.0-b09, mixed mode)


  
---------------------------------------------------------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.pid3 错误日志:/var/log/nginx/error.log
  Nginx常用命令:
     1 启动:nginx2 重启:killall -HUP nginx3 测试配置: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
  在nginx.conf中添加如下内容
  upstream www.mygogo.com {
      server 127.0.0.1:8080 weight=1;#转向tomcat
  }
 #虚拟机
  server {
        listen       80;
        server_name www.mygogo.com; #另外两个是
        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
  
  测试:
 在tomcat中加入一个简单web应用(一个html页面就ok),分别访问127.0.0.1/yourweb(nginx—图1)和127.0.0.1:8080/yourweb(tomcat 图2)是否会出现相同的页面,有则成功
   
  Browser-->Ngin-->Tomcat

             <--       <--
 
  ---------------------------------------------------------整合-----------------------------------------------------------------
---------------------------------------------------------负载均衡----------------------------------------------------------
 
5:负载均衡
架构图:                     

                              |----->Tomcat1

 Browser-->Nginx-->|

                              |------>Tomcat2

 

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

     exprot CATALINA_2_BASE CATALINA_2_HOME TOMCAT2_HOME


3:在tomcat2/bin/catalina.sh文件顶部添加如下内容

     export JAVA_HOME=/usr/local/jdk

     export PATH=$PATH:$JAVA_HOME/lib

     export CLASSPATH=$JAVA_HOME/lib

     export CATALINA_HOME=$CATALINA_2_HOME

     export CATALINA_BASE=$CATALINA_2_BASE

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/tomcat/bin/startup.sh


3、配置nginx
   修改nginx.conf如下
  upstream www.mygogo.com {
      server 127.0.0.1:8080 weight=1;
      server 127.0.0.1:9080 weight=1;#新加
    }
 server {
        listen       80;
        server_name www.mygogo.com;
        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;
        }
 }
 #新加的虚拟机
 server {
        listen       80;
        server_name www.mygogo.com;
        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.mygogo.com/yourweb将以轮寻的方式访问两个tomcat
 
 注:在/etc/hosts文件中追加 www.yourDomain.comwww.mygogo.com--非广告而是本机测试域名)
---------------------------------------------------------负载均衡----------------------------------------------------------
 
 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!