NGINX-TOMCAT集群环境部署
―――――――――――――――――�CShanks
目录
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.gz:http://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 �Cprefix=/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
�Cprefix=/usr/local/nginx-1.0
�Cwith-http_stub_status_module
�Cadd-module=/usr/local/src/nginx_upstream_jvm_route/
�Cadd-module=/usr/local/src/agentzh-headers-more-nginx-module-fb2d893/
�Cwith-http_ssl_module
�Cwith-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 �Ca /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″
<!�C Define an AJP 1.3 Connector on port 8009 �C>
<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
<!�C Define an AJP 1.3 Connector on port 8009 �C> #把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页面不会变