CentOS下Apache+Tomcat 负载均衡

分类:CentOS运维 阅读:90770 次

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

一、系统版本:Centos 5.3 64位系统

  1. Nginx版本为:httpd-2.2.13.tar.bz2

  2. Jdk版本为:1.6.0_18_64

  3. Tomcat版本为:Apache Tomcat/6.0.30

  4. 其他相似版本也可以!安装服务所需的包如下下载路径:本网站集成部分下载:

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

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

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

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

二、安装Apache

  1. 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安装配置:将所需的包下载至/usr/src 目录;首先安装jdk:chmod o+x jdk* && ./jdk* ;程序包会提示按回车键,我们根据提示安装即可,解压完毕,会在当前目录生成 jdk1.6.0_18 文件夹

  1. mkdir -p /usr/java && mv jdk1.6.0_18 /usr/java/下

  2. vi /etc/profile 最后面加入以下语句:

  3. export JAVA_HOME=/usr/java/jdk1.6.0_18

  4. export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

  5. export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOMR/bin

  6. source /etc/profile //使环境变量马上生效

  7. java ?version //查看java版本,显示版本是1.6.0_18,并且是64位的证明安装成功!

  8. Java HotSpot(TM) 64-Bit Server VM (build 16.0-b10, mixed mode)

  9. cd /usr/src && tar xzf apache-tomcat-6.0.30.tar.gz

  10. 解压完成执行:

  11. mv apache-tomcat-6.0.30 /usr/local/tomcat_1 && cp /usr/local/tomcat_1 /usr/local/tomcat_2 -r

设置tomcat的java变量

  1. cd /usr/local/tomcat_1/bin/ && vi setenv.sh 创建一个setenv.sh脚本文件,添加如下语句即可

  2. JAVA_HOME=/usr/java/jdk1.6.0_18

  3. JAVA_JRE=/usr/java/jdk1.6.0_18/jre

  4. 并且拷贝setenv.sh文件到tomcat_2/bin/下:

  5. cp -p /usr/local/tomcat_1/bin/setenv.sh /usr/local/tomcat_2/bin 下即可!

  6. 保存退出

  7. 检查两个tomcat下bin目录的*.sh 文件是否有可执行权限,如果没有则进入到相应的目录执行 chmod o+x *.sh 即可!

  8. 给两个tomcat分别创建不同的目录如下:mkdir -p /usr/webapps/{www_1,www_2}

  9. 修改Tomcat_1的 server.xml文件如下地方:

  10. <Enginename="Catalina"defaultHost="localhost"jvmRoute="tomcat1">

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

  12. <Contextpath=""docBase="/usr/webapps/www_1"reloadable="true"/>

  13. 同样的道理设置tomcat_2:

  14. <Enginename="Catalina"defaultHost="localhost"jvmRoute="tomcat2">

  15. <Contextpath=""docBase="/usr/webapps/www_2"reloadable="true"/>

  16. 分别设置两个tomcat的jvmroute名称为tomcat1和tomcat2,一会在apache配置文件中会用到!

四、配置Apache虚拟主机修改vhosts.conf

  1. NameVirtualHost *:80

  2. <VirtualHost *:80>

  3. ServerAdmin wgkgood@163.com

  4. DocumentRoot "/usr/webapps/www"

  5. ServerName 192.168.2.79

  6. <Directory "/usr/webapps/www ">

  7. AllowOverride None

  8. Options None

  9. Order allow,deny

  10. Allow from all

  11. </Directory>

  12. ProxyRequests Off

  13. RewriteEngine On

  14. ProxyPreserveHost On

  15. RewriteRule ^$ balancer://wwwCluster/ [P,L,NC]

  16. RewriteRule ^/(.*)$ balancer://wwwCluster/$1 [P,L,NC]

  17. <Proxy balancer://wwwCluster>

  18. BalancerMember ajp://localhost:8411 route=tomcat1

  19. BalancerMember ajp://localhost:8412 route=tomcat2

  20. </Proxy>

  21. </VirtualHost>

如上,8411和8412是两个tomcat的AJP端口,可以根据实际情况修改,这样的话,所有配置都完毕了!启动apache ok!在两个tomcat的发布目录都新建一个index.jsp 内容分别输入:

  1. <html>

  2. <body>

  3. <h1> TOMCAT_1 JSP Test Page</h1>

  4. <%=new java.util.Date()

  5. %>

  6. </body>

  7. </html>

第二台机器,写入以下内容:

  1. <html>

  2. <body>

  3. <h1>TOMCAT_2 JSP Test Page</h1>

  4. <%=new java.util.Date()

  5. %>

  6. </body>

  7. </html>

然后直接访问 http://192.168.2.79 ;出现不同的页面,也就是两个tomcat的内容。


本文出自 “吴光科-专注自动化运维” 博客,请务必保留此出处http://wgkgood.blog.51cto.com/1192594/558220