快速配置Apache2.X + Tomcat 4.X + Linux/Windows
------作者 赵建青
当您选择自由软件像linux、apache、tomcat 等进行应用开发时。其相关配置是令许多程序员头疼的事情,往往由于文档不全,版本不同造成不必要的时间浪费。现在我把Apache2.x+Tomcat4.x集成与负载均衡配置过程、经验与大家分享.。
一、测试环境:
A、Linux
测试操作系统: Red Linux 7.2
JDK Download j2sdk-1_4_1_02-linux-i586.bin .
Apache Unix Source: httpd-2.0.45.tar.gz [PGP] [MD5]
Tomcat Tomcat 4.1.24
Mod_jk.so jakarta-tomcat-connectors-jk-1.2.3-src.tar.gz
附加开发工具包:(用来生成mod_jk.so)
AutoConf-2.53
AutoMake-1.6.3
Libtool-1.4.2
到相应的网站下到这些开发包(否则不能生成mod_jk.so):
它们安装类同分别执行以下三部:
如果是tar 格式,先解到 /tmp下
用root用户进到相应的目录做以下操作
./configure
./make
./make install
B、Win2000
测试操作系统: Win2000 Advance Server
JDK Download j2sdk-1_4_1_02-windows-i586.exe
Apache apache_2.0.45-win32-x86-no_ssl.exe
Tomcat Tomcat 4.1.24
Mod_jk.dll mod_jk_2.0.45.dll
二、JDK安装:
A、 Linux:
1、 cp /tmp
2、 ./*-linux-i586.bin
B、Win2000
点击运行*.exe即可
三、Apache 安装、设置:
A、 Linux
1、 建立httpd 用户,cp 相应的源代码到 /tmp)
2、 解包(gzip –d httpd-2.0.45.tar.gz tar xvf httpd-.2.0.45.tar)
3、 cd /home/httpd/
4、 su
5、 ./configure –prefix=/home/httpd --libexecdir=/home/httpd/lib --enable-module=most –enable-mods-shared=most
--enable-module=so
6、 make
7、 make install
B、Win2000
运行setup.exe
C、设置
1、 打开 conf/httpd.conf文件
修改 Listen 80 #80改为其它未用port 8003
修改以下一行
ServerName localhost
2、 测试
apachectl configtest
如果显示
Syntax ok
表示成功
四、Tomcat 安装设置
A、 Linux:
1、 建立tomcat 用户
2、 tar 开包
B、 Win2000
解开包即可
C、 设置
JAVA_HOME=/usr/local/jdk #改成jdk实际path
CATALINA_HOME=/home/tomcat
D、运行、停止
运行:startup.sh /startup.bat
停止:shutdown.sh/shutdown.bat
五、生成mod_jk
A、 Linux
在apache站点没有发现mod_jk.so的二进制动态库,所以要手工生成,有点
麻烦,以下是生成mod_jk.so的steps
1、 确定libtool,autoconf,automake 正确安装
2、 cp jakarta-tomcat-connectors-jk-1.2.3-src.tar.gz /tmp
3、 解包
4、 cd jk/native
5、 ./buildconf.sh
6、 ./configure –with-apx=/httpd安装目录/bin/apx –with-java-home=${JAVA_HOME}
7、 make
8、 make install
9、 在apache-2.0目录中生成mod_jk.so
恭喜你成功产生了它,如果没有话确让以上几个steps
B、 Win2000
六、整合:
A、 Linux :
1、 打开/usr/httpd/conf/httpd.conf
增加以下行:
LoadModule jk_module lib/mod_jk.so
JkWorkersFile conf/workers.properties
JkLogFile logs/mod_jk.log
JkLogLevel info
B、 Win2000:
1、 打开httpd.conf
增加以下行:
LoadModule jk_module lib/mod_jk.dll
JkWorkersFile conf/workers.properties
JkLogFile logs/mod_jk.log
JkLogLevel info
C、设置:
增加文件 workers.properties
#
# workers.properties
ps=/
# list the workers by name
worker.list=tomcat1, tomcat2, loadbalancer
# ------------------------
# First tomcat server
# ------------------------
worker.tomcat1.port=11009
worker.tomcat1.host=localhost
worker.tomcat1.type=ajp13
worker.tomcat1.lbfactor=100
# Second tomcat server
# ------------------------
worker.tomcat2.port=12009
worker.tomcat2.host=localhost
worker.tomcat2.type=ajp13
worker.tomcat2.lbfactor=100
worker.loadbalancer.type=lb
worker.loadbalancer.balanced_workers=tomcat1, tomcat2
注意此文件编辑有错的话,apache与tomcat连接会失败
最好是粘贴以上行到一个新的worker.properties中,
找到 {TOMCAT_HOME}/conf目录
打开server.xml
1. 在100 行附近将
<Engine jvmRoute="tomcat1" name="Standalone" defaultHost="localhost" debug="0">
2. 在75 行 改变ajp13 connecter port 为11009
3. 注释掉8080端口
如果你要做到负载均衡,
增加另一个
tomcat 应用服务器(可以在不同的机器上)
端口,IP改为与workers.properties 相同即可
七、测试:
A、整合测试:
运行httpd
apachectl start
运行 tomcat
startup.sh
在IE中输入:
http://1ocalhost:8003/index.jsp
如果看到了一只lovely cat !
Congratulation,
It’s ok!
注意8003改成实际的httpd 的端口
B、负载均衡测试:
新建两个index.jsp
Tomcat1:
<html>
<body bgcolor="red">
<center>
<%= request.getSession().getId() %>
<h1>Tomcat 1</h1>
</body>
</html>
tomcat2:
<html>
<body bgcolor="blue">
<center>
<%= request.getSession().getId() %>
<h1>Tomcat 2</h1>
</body>
</html>
自己去看看结果吧:
祝你好运了!!!!!!!!!!!!!!!!!!
八、小结:
以上是整合的全过程,希望更多人少走弯路了。在总个配置中关键是mod_jk.so 和workers.properties的生成和配置,建议你粘上面workers.properties行为自己的配置文件。如果在设置是遇到什么问题或需要已生成mod_jk.so可以发邮件到
[email protected],很乐意跟大家探讨相关应用。
本文地址:http://com.8s8s.com/it/it17812.htm