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
附录一 联系方式
MSN:lushanlee@hotmail.com
QQ :180323536
Email: ligf@sports.cn
附录二 常见安装错误
1 在apache启动后的日志(/usr/loal/apache2/logs/error_log)里如果发现这样的错误:
channelSocket.open() connect failed localhost:8009 146 Connection refused
请检查workers2.properties配置是否正确
2 在TOMCAT启动后的日志(/usr/local/tomcat/logs/Catalina.out)里如果发现这样的错误:
INFO:APRnotloaded,disablingjnicomponents:java.io.IOException:java.lang.UnsatisfiedLinkError:/usr/local/apache2/modules/jkjni.so:/usr/local/apache2 /modules/jkjni.so: undefined symbol: apr_md5_final