NGINX-TOMCAT集群环境部署

—————————————————–Shanks

目录

NGINX-TOMCAT集群环境部署… 1

1.1 OS:linux RedHat5u5. 1

1.2 Soft:… 1

1.2.1 soft说明… 2

1.3安装部署步骤… 2

1.3.1部署前准备… 2

1.3.2 Jdk. 2

1.3.3 Nginx. 3

1.3.4 Tomcat 8

1.4启动服务… 8

1.5负载均衡的测试… 8

———————————————————————————————————————-

本集群不涉及session同步,但是会记录session会话。

1.1 OS:linux RedHat5u51.2 Soft:

apache-tomcat-5.5.17.tar.gz下载地址:http://tomcat.apache.org/download-60.cgi

nginx-1.0.0.tar.gz下载地址:http://www.nginx.org/

jdk1.6.0_22下载地址:http://java.sun.com/javase/downloads/previous.jsp

pcre-8.02.tar.gz下载地址:http://www.pcre.org

nginx-upstream-jvm-route-0.1.tar.gzhttp://code.google.com/p/nginx-upstream-jvm-route/

agentzh-headers-more-nginx-module-v0.14rc1-0-gfb2d893.tar.gz : http://blog.mgcrazy.com/download/agentzh-headers-more-nginx-module-v0.14rc1-0-gfb2d893.tar.gz

1.2.1 soft说明

nginx:没啥说的,提供web jdk:java环境 tomcat:java容器

pcre:perl库 nginx-upstream-jvm-route:nginx会话记录的必须模块

agentzh-headers-more-nginx-module-v0.14rc1-0-gfb2d893.tar.gz支持隐藏头部信息

1.3 安装部署步骤1.3.1 部署前准备

检查端口使用,确定nginx和tomcat监听端口。

Nginx:81 tomcat1:8005、8009、8080 tomcat2:8006、8010、8081

检查pcre

rpm -qa|grep pcre

pcre-6.6-2.el5_1.7

pcre-devel-6.6-2.el5_1.7

没有的话就需要安装pcre了

cd /usr/local/src && tar xzf pcre-8.02.tar.gz &&cd pcre-8.02 && ./configure –prefix=/usr/local/pcre &&make &&make install

安装所需的程序库

yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel

1.3.2 Jdk

其实由于之前已经有过java环境,所以不需要再次部署,不过我还是写上步骤,最好是每个集群都有自己单独的java环境

#chmod 755 jdk-1_5_0_16-linux-i586.bin
#./jdk-1_5_0_16-linux-i586.bin
# mv jdk-1_5_0_16 /usr/local/
到此JDK已经安装完成

到/usr/bin目录下,把原用的java,javac文件删除:

最好先备份
rm -rf java
rm -rf javac
在/usr/bin 下建立 软连接 java

ln -s /usr/local/jdk-1_5_0_16/bin/java /usr/bin/java
ln -s /usr/local/jdk-1_5_0_16/bin/javac /usr/bin/javac

测试下,shell>java;javac

为了方便下在的工作建立两个软链接:
ln -s /usr/local/jdk-1_5_0_16 /usr/local/jdk
ln -s /usr/local/jdk-1_5_0_16/jre /usr/local/jre

设置环境变量

JAVA_HOME=/usr/local/jdk1.6.0_24

export JAVA_HOME

JRE_HOME=/usr/local/jdk1.6.0_24/jre

export JRE_HOME

CLASSPATH=/usr=/usr/local/tomcat6/common/lib/:/usr/local/jdk1.6.0_24/lib:/usr/local/jdk1.6.0_24/jre/lib

export CLASSPATH

PATH=$PATH:/usr/local/tomcat6_1/bin/:/usr/local/tomcat6_2/bin/:/usr/local/apache2/bin:/usr/local/jdk1.6.0_24/bin:/usr/local/jdk1.6.0

_24/jre/bin

export PATH

1.3.3 Nginx

安装

我的nginx开的是8888端口,测试嘛,无所谓,不过在生产环境中最好改成大号,要不老是root启动,op得烦死。

tar zxf nginx-upstream-jvm-route-0.1.tar.gz

tar zxf agentzh-headers-more-nginx-module-v0.14rc1-0-gfb2d893.tar.gz

tar zxf nginx-1.0.0.tar.gz && cd nginx-1.0.0

patch -p0 < /usr/local/src/nginx_upstream_jvm_route/jvm_route.patch

./configure

–prefix=/usr/local/nginx-1.0

–with-http_stub_status_module

–add-module=/usr/local/src/nginx_upstream_jvm_route/

–add-module=/usr/local/src/agentzh-headers-more-nginx-module-fb2d893/

–with-http_ssl_module

–with-pcre=/usr/src/pcre-8.02&& make && make install

标红的是pcre的解压目录而不是安装目录

配置

http://hi.baidu.com/jiaofu1127/blog/item/26cb0ad4c60c70f877c63859.html

1.3.4 Tomcat

tar zxf apache-tomcat-6.tar.gz

mv apache-tomcat-6 /usr/local/tomcat6-1

cp –a /usr/local/tomcat6-1 /usr/local/tomcat6-2

—————————————————————————————————————-

vim /usr/local/tomcat6-1/conf/server.xml

<Server port=”8005″ shutdown=”SHUTDOWN”>

<Connector port=”8080″ maxHttpHeaderSize=”8192″

<!– Define an AJP 1.3 Connector on port 8009 –>

<Connector port=”8009″

<Engine name=”Catalina” defaultHost=”localhost” jvmRoute=”jvm1″>

—————————————————————————————————————

vim /usr/local/tomcat6-2/conf/server.xml

<Server port=”8006″ shutdown=”SHUTDOWN”> #把8005改成8006

<Connector port=”8081″ maxHttpHeaderSize=”8192″ #把8080改成8081

<!– Define an AJP 1.3 Connector on port 8009 –> #把8009改成8010

<Connector port=”8010″

<Engine name=”Catalina” defaultHost=”localhost” jvmRoute=”jvm2″>

1.4 启动服务

/usr/local/nginx-1.0/sbin/nginx 检查8888端口

Cd /usr/local/tomcat6-1/bin&&./startup.sh 检查8005、8080、8009

Cd /usr/local/tomcat6-2/bin&&./startup.sh 检查8006、8081、8010

1.5 负载均衡的测试

Tomcat-1

Cd /usr/local/tomcat6-1/webapps&&mkdir nginx && cd nginx &&vim test,jsp

<%@ page language=”java” import=”java.util.*” pageEncoding=”UTF-8″%>

<%

%>

1111111111111111111111111111111

<%out.print(request.getSession()) ;%>

<%out.println(request.getHeader(“Cookie”)); %>

——————————————————————————————————————

Tomcat-2

Cd /usr/local/tomcat6-2/webapps&&mkdir nginx && cd nginx &&vim test,jsp

<%@ page language=”java” import=”java.util.*” pageEncoding=”UTF-8″%>

<%

%>

2222222222222222222222222222222222222

<%out.print(request.getSession()) ;%>

<%out.println(request.getHeader(“Cookie”)); %>


之后访问

http://192.168.1.2:8888/nginx/test.jsp

如果能看到“JSESSIONID=47DB9E096A56D849C9838DF63080B85C.jvm1”或者

“JSESSIONID=47DB9E096A56D849C9838DF63080B85C.jvm2”就ok了。同一个session页面不会变