最新消息:

Linux下Apache+Tomcat 负载均衡

未分类 admin 2751浏览 0评论

前言:采用apache+tomcat的组合在目前还是挺多的,为了使用jsp,好多公司都采用apache+tomcat:

一、系统版本:Centos 5.3 64位系统
Nginx版本为:httpd-2.2.13.tar.bz2
Jdk版本为:1.6.0_18_64
Tomcat版本为:Apache Tomcat/6.0.30
其他相似版本也可以!安装服务所需的包如下下载路径:本网站集成部分下载:

jdk请到以下网站下载:请选择自己系统版本的jdk。

https://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/ViewFilteredProducts-SingleVariationTypeFilter

Apache、Tomcat下载地址,下载到/usr/src下】

cd /usr/src && wget http://blog.mgcrazy.com/download/{httpd-2.2.13.tar.bz2,apache-tomcat-6.0.30.tar.gz }

二、安装Apache
cd /usr/src && tar -jxvf httpd-2.2.13.tar.bz2 && cd httpd-2.2.13/srclib/apr &&./configure –prefix=/usr/local/apr &&make &&make install &&cd ../apr-util/ && ./configure –prefix=/usr/local/apr-util –with-apr=/usr/local/apr &&make&&make install && cd ../../ && ./configure –prefix=/usr/local/apache2 –enable-mods-shared=all –with-mpm=worker –enable-deflate –enable-cache –enable-disk-cache –enable-mem-cache –enable-file-cache –enable-proxy –enable-proxy-ajp –enable-proxy-balancer –enable-proxy-http –enable-rewrite –enable-charset-lite –disable-ipv6 –disable-dav –with-apr=/usr/local/apr –with-apr-util=/usr/local/apr-util
可以直接拷贝安装apache
【注意*这里安装mod_proxy处理Tomcat jsp页面模块,安装apr、apr-util增加Tomcat处理性能,当然也可以用mod_jk的方式,如果是mod_jk的方式的话,可以参考这篇文章:
http://bbs.linuxtone.org/thread-1195-1-1.html 】

三、Tomcat安装配置:

(1)、将所需的包下载至/usr/src 目录;首先安装jdk:
chmod o+x jdk* && ./jdk* ;程序包会提示按回车键,我们根据提示安装即可,解压完毕,会在当前目录生成 jdk1.6.0_18 这个文件夹,
mkdir -p /usr/java && mv jdk1.6.0_18 /usr/java/下
vi /etc/profile 最后面加入以下语句:
export JAVA_HOME=/usr/java/jdk1.6.0_18
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOMR/bin
source /etc/profile //使环境变量马上生效
java –version //查看java版本,显示版本是1.6.0_18,并且是64位的证明安装成功!
【 Java HotSpot(TM) 64-Bit Server VM (build 16.0-b10, mixed mode) 】
cd /usr/src && tar xzf apache-tomcat-6.0.30.tar.gz
解压完成执行:
mv apache-tomcat-6.0.30 /usr/local/tomcat_1 && cp /usr/local/tomcat_1 /usr/local/tomcat_2 -r

【移动到/usr/local下并重命名为tomcat_1文件夹,并cp一个tomcat_2】
部署两个Tomcat群集做负载均衡用!
(2)、设置tomcat的java变量
cd /usr/local/tomcat_1/bin/ && vi setenv.sh 创建一个setenv.sh脚本文件,添加如下语句即可
JAVA_HOME=/usr/java/jdk1.6.0_18
JAVA_JRE=/usr/java/jdk1.6.0_18/jre
并且拷贝setenv.sh文件到tomcat_2/bin/下:
cp -p /usr/local/tomcat_1/bin/setenv.sh /usr/local/tomcat_2/bin 下即可!
保存退出
检查两个tomcat下bin目录的*.sh 文件是否有可执行权限,如果没有则进入到相应的目录执行 chmod o+x *.sh 即可!
给两个tomcat分别创建不同的目录如下:mkdir -p /usr/webapps/{www_1,www_2}

(3)、修改Tomcat_1的 server.xml文件如下地方:

还有一个地方在前面加入:也就是你的应用所在的目录,并删除tomcat下webapps的ROOT自带的程序:find /usr/local/ -name ROOT |xargs rm -rf {}; 然后指定你新建的程序:

同样的道理设置tomcat_2:
分别设置两个tomcat的jvmroute名称为tomcat1和tomcat2,一会在apache配置文件中会用到!然后启动两个tomcat:

四、配置Apache虚拟主机:在vhosts.conf里面配置:
NameVirtualHost *:80

ServerAdmin wgkgood@163.com
DocumentRoot “/usr/webapps/www”
ServerName 192.168.2.79

AllowOverride None
Options None
Order allow,deny
Allow from all

ProxyRequests Off
RewriteEngine On
ProxyPreserveHost On
RewriteRule ^$ balancer://wwwCluster/ [P,L,NC]
RewriteRule ^/(.*)$ balancer://wwwCluster/$1 [P,L,NC]
BalancerMember ajp://localhost:8411 route=tomcat1
BalancerMember ajp://localhost:8412 route=tomcat2

如上,8411和8412是两个tomcat的AJP端口,可以根据实际情况修改,这样的话,所有配置都完毕了!启动apache ok!

在两个tomcat的发布目录都新建各自的index.jsp 输入不同的内容即可!

然后直接访问 http://192.168.2.79 ,会话会不断的在两个tomcat之间跳就ok了!

转载请注明:爱开源 » Linux下Apache+Tomcat 负载均衡

您必须 登录 才能发表评论!