Tomcat5.0.18+Apache2.0.50+Linux9整合过程(完全版)
李高峰
前言:
在《APACHE2.0.50+TOMCAT5.0.18+LINUX9配置过程》发表不久,许多朋友提出了诸多细节问题,为了满足大家的需要,作者以配置过程为主线,穿插必要的讲解,力求清晰完整,正文中粗黑体标出的主要是操作命令,蓝体(除了URL以外)标出的是返回的结果,粗蓝体标出的是需要修改的地方和修改后的结果,欢迎大家提出意见。
假设您现在已经拥有了:
1. j2sdk-1_4_2_05-linux-i586-rpm.bin
2. httpd-2.0.50.tar.gz
3. jakarta-tomcat-5.0.18.tar.gz
4. jakarta-tomcat-connectors-jk2-2.0.4-src.tar.gz
并且放置在/www目录下。
[如果您没有这些安装包,您可以在网上查找,或者直接向我(
[email protected])索取,注意版本号尽可能跟要求一致]
一、安装JDK
大家从网上下载的JDK的LINUX版本一般是bin格式,要变成RPM格式必须通过转化(如果是RPM格式的文件直接就可以安装)。
1. 使bin文件可执行。
[root@localhost www]# chmod +x j2sdk-1_4_2_05-linux-i586-rpm.bin
2. 解压。
[root@localhost www]# ./j2sdk-1_4_2_05-linux-i586-rpm.bin
3. 直接安装,默认的安装路径是/usr/java
[root@localhost www]# rpm -ivh j2sdk-1_4_2_05-linux-i586.rpm
4. 为了操作简单,有必要为刚刚安装的j2sdk1.4.2_05建立一个JDK的同步目录
[root@localhost java]# ln -s j2sdk1.4.2_05 jdk
5. 设置环境变量JAVA_HOME(这个变量会在后面的Tomcat中用到)。
[root@localhost java]# vi /etc/profile
在该文件的末尾加上下面两行
JAVA_HOME=/usr/java/jdk
export JAVA_HOME
保存退出
6. 验证该变量的设置。如果感觉安装顺利的话,可以跳过此步。
[root@localhost java]# echo $JAVA_HOME
大家会发现返回的是空行
不要惊慌,退出去重新登录系统就可以了
[root@localhost java]# exit
[root@localhost /]# echo $JAVA_HOME
/usr/java/jdk
如果返回这行,就说明设置成功。至此您的JDK安装完毕。
二、安装Tomcat
Tomcat的安装比较简单,解压后运行即可。
7. 将安装包拷贝到/usr/local目录下安装,如果您在/www目录下解开也可以,作者为了使目录规范,将其拷贝到/usr/local下安装。
[root@localhost www]# cp jakarta-tomcat-5.0.18.tar.gz /usr/local
[root@localhost local]# tar -zxvf jakarta-tomcat-5.0.18.tar.gz
8. 为解压后得到的jakarta-tomcat-5.0.18创建一个名为tomcat的同步目录。
[root@localhost local]# ln -s jakarta-tomcat-5.0.18 tomcat
9. 设置环境变量CATALINA_HOME,并验证
[root@localhost local]# vi /etc/profile
在文件最后加入如下两行
CATALINA_HOME=/usr/local/tomcat
export CATALINA_HOME
保存退出
验证CATALINA_HOME的过程跟上面验证JAVA_HOME的过程相同。
10. 启动并测试安装结果
[root@localhost local]# cd ./tomcat/bin
[root@localhost bin]# ./startup.sh
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JAVA_HOME: /usr/java/jdk
打开浏览器,敲入主机地址和端口号8080,回车
如:http://192.168.1.205:8080
如果出现如下画面则说明,安装成功。
三、安装Apache
相对以上两者来说,步骤较多,但具体每个步骤操作都很简单。
11. 拷贝安装包到/usr/local,并在目标目录下进行解压。
[root@localhost www]# cp httpd-2.0.50.tar.gz /usr/local
[root@localhost www]# cd /usr/local
[root@localhost local]# tar -zxvf httpd-2.0.50.tar.gz
12. 配置安装参数,安装的目标目录为/usr/local/apache2,一定要设置enable-mods-shared=all,否则在编译的时候会报错。
[root@localhost local]# cd httpd-2.0.50
[root@localhost httpd-2.0.50]# ./configure --prefix=/usr/local/apache2 --enable-mods-shared=all
13. 编译并安装。
[root@localhost httpd-2.0.50]# make
[root@localhost httpd-2.0.50]# make install
14. 启动Apache,并测试。
[root@localhost httpd-2.0.50]# cd /usr/local/apache2/bin
[root@localhost bin]# ./apachectl start
打开浏览器,并在地址栏中输入主机的IP地址
如http://192.168.1.205
如果出现以下画面则说明安装成功。
四、生成连接器
15. 拷贝源包到/usr/local并在目标目录中解压(当然在原来的目录中解压也是可以的,作者是为了规范所以安装的程序都放在/usr/local下)。
[root@localhost www]# cp jakarta-tomcat-connectors-jk2-2.0.4-src.tar.gz /usr/local
[root@localhost www]# cd /usr/local
[root@localhost local]# tar -zxvf jakarta-tomcat-connectors-jk2-2.0.4-src.tar.gz
16. 创建一个connector同步目录,目的是为了简化操作。
[root@localhost local]# ln -s jakarta-tomcat-connectors-jk2-2.0.4-src connector
17. 进行编译配置。大家一定要注意这几个参数中前三个是很重要的,必要时可以去相应的目录看看相关的文件是否存在。
[root@localhost local]# cd connector
[root@localhost native2]# ./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-apr-lib=/usr/local/apache2/bin --with-tomcat-41=/usr/local/tomcat --with-java-home=/usr/java/jdk --with-jni
18. 修改Makefile文件,这个文件是编译生成连接器的关键,由于默认情况下会丢包所以有必要对其进行修改,关键!如果没有修改很可能会出现附录中的错误。
[root@localhost native2]# cd server/apache2
[root@localhost apache2]# vi Makefile
在其中很容易找到
###### Based on rules.mk ##########################################
将其前面的四行
ifdef APR_LIBDIR_LA
JK_LDFLAGS=-L${APACHE2_LIBDIR} -lcrypt
else
JK_LDFLAGS=-lcrypt ${APR_LIBS}
endif
全都注释掉或删除掉,并在其下添加以下六行
ifdef APR_LIBDIR_LA
JK_LDFLAGS=-L${APACHE2_LIBDIR} -lcrypt
else
JK_LDFLAGS=-lcrypt ${APR_LIBS} JK_LDFLAGS=-lcrypt ${APR_LIBS} -L/usr/local/apache2/lib -laprutil-0 -lgdbm -ldb-4.0 -lexpat
endif
结果如下
#ifdef APR_LIBDIR_LA
#JK_LDFLAGS=-L${APACHE2_LIBDIR} -lcrypt
#else
#JK_LDFLAGS=-lcrypt ${APR_LIBS}
#endif
ifdef APR_LIBDIR_LA
JK_LDFLAGS=-L${APACHE2_LIBDIR} -lcrypt
else
JK_LDFLAGS=-lcrypt ${APR_LIBS} JK_LDFLAGS=-lcrypt ${APR_LIBS} -L/usr/local/apache2/lib -laprutil-0 -lgdbm -ldb-4.0 -lexpat
endif
###### Based on rules.mk ##########################################
保存后退出。
19. 编译
[root@localhost apache2]# make
20. 运行apache下的apxs,如果返回如下结果,证明正常。
[root@localhost apache2]# cd ..
[root@localhost server]# cd ..
[root@localhost native2]# cd ../build/jk2/apache2
[root@localhost apache2]# /usr/local/apache2/bin/apxs -n jk2 -i mod_jk2.so
/usr/local/apache2/build/instdso.sh SH_LIBTOOL='/usr/local/apache2/build/libtool' mod_jk2.so /usr/local/apache2/modules
/usr/local/apache2/build/libtool --mode=install cp mod_jk2.so /usr/local/apache2/modules/
cp mod_jk2.so /usr/local/apache2/modules/mod_jk2.so
Warning! dlname not found in /usr/local/apache2/modules/mod_jk2.so.
Assuming installing a .so rather than a libtool archive.
chmod 755 /usr/local/apache2/modules/mod_jk2.so
21. 拷贝生成的两个文件到apache的modules目录,这两个文件就是负责Tomcat和Apache通信的。
[root@localhost apache2]# cp libjkjni.so /usr/local/apache2/modules/jkjni.so
[root@localhost apache2]# cp mod_jk2.so /usr/local/apache2/modules/
cp: overwrite `/usr/local/apache2/modules/mod_jk2.so'? y
五 配置
22. 对Tomcat的jk2.properties进行配置,只需要修改一行,找到shm.file,去掉该行的注释符,并将路径改为/usr/local/apache2/logs/jk2.shm。
[root@localhost apache2]# cd /usr/local/tomcat/conf
[root@localhost conf]# vi jk2.properties
# channelUnix.file=${jkHome}/work/jk2.socket
# Just to check if the the config is working
shm.file=/usr/local/apache2/logs/jk2.shm
# In order to enable jni use any channelJni directive
# channelJni.disabled = 0
# And one of the following directives:
23. 配置Apache的httpd.conf,在LoadModule后添加一行,
LoadModule jk2_module modules/mod_jk2.so
在Apache启动的时候会装载mod_jk2.so
[root@localhost conf]# cd /usr/local/apache2/conf
[root@localhost conf]# vi httpd.conf
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule jk2_module modules/mod_jk2.so
24. 在Apache的conf目录中创建文件workers2.properties,其中加入如下几行
[root@localhost conf]# vi workers2.properties
其中可以添加Tomcat的虚拟目录
[uri:/jsp-examples/*]
当然也可以在其后添加
[uri:/servlets-examples/*]
这样你就可以访问servlets-examples
#------start ---------
[shm]
file=/usr/local/apache/logs/shm.file
size=1048576
[channel.socket:localhost:8009]
tomcatId=localhost:8009
[uri:/jsp-examples/*]
# --------end ------------
保存退出
25. 启动tomcat,apache并进行测试
[root@localhost conf]# cd /usr/local/tomcat/bin
[root@localhost bin]# ./startup.sh
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JAVA_HOME: /usr/java/jdk
[root@localhost bin]# cd /usr/local/apache2/bin
[root@localhost bin]# ./apachectl start
打开浏览器,输入http://主机地址/ jsp-examples
如http://192.168.1.205/jsp-examples
本文地址:http://com.8s8s.com/it/it11900.htm