apache2.2.4+jk+tomcat5.5.27 配置中的几个问题

梦龙 发布于 2009/08/24 10:11
阅读 2K+
收藏 0

问题1:
我的workers.properties中的内容是这样的:
ps=\
wk.list=ajp13
wk.ajp13.port=8009
wk.ajp13.host=localhost
wk.ajp13.type=ajp13
wk.ajp13.lbfactor=50
在apache的conf/httpd.conf中写了如下内容:
LoadModule jk_module modules/mod_jk.so
JkWorkersFile "D:\Program Files\Apache Software Foundation\Apache2.2\conf\workers.properties"
JkMount /*.do ajp13
JkMount /*.jsp ajp13
这样是可以连通的,但是如果我将workers.properties和httpd.conf中的ajp13换成别的名字,就无法正常运行,请问这是为什么?另外,我把workers.properties中的wk.ajp13.host这行用#号注释掉,只要wk.list的名字是ajp13,仍然可以运行,这是怎么回事啊。。。
问题2:
当我把apache安装在一台物理机,tomcat安在另一台物理机上,按照如上写法,只是将wk.ajp13.host=localhost中的值改成对应的tomcat的地址,但是连不上,请问这个应该如何配置?
问题3:
按照问题1中的配置,访问http://localhost/admin时,点击admin就显示没有安装此应用,但是直接敲http://localhost:8080/admin就可以访问,请问这个应该如何配置?

先写过了!!!

加载中
0
范堡
范堡

呵,LZ 的问题让我想起了读书时候发下来的试卷的问答。

答1:ajp13 是JK 均衡负载协议的意思,你对这个可能理有误 了。
在你 workers.properties 配置中如果要改名的话可以改成这样:

wk.list=Hello
wk.Hello.port=8009
wk.Hello.host=localhost
wk.Hello.type=ajp13
wk.Hello.lbfactor=50

其中 wk.Hello.type=ajp13 这个=号后的ajp13 代表着的是协议类型。所以不能改!
不过我看你的配置也怪怪的,httpd.conf 的配置你是怎样写的?没看到 urimap.properties 的配置的?
问题3 的答案,是需要修改 localhost.properties 本机目录配置,但你所发的配置中也没提到它。

要不这样,之前也有个会员问过关于JK的配置,我很详细地写了一个回复,你不妨看看,能不能有帮助:

http://www.oschina.net/discuss/thread/2233

0
梦龙

引用来自“范堡”的帖子

呵,LZ 的问题让我想起了读书时候发下来的试卷的问答。

答1:ajp13 是JK 均衡负载协议的意思,你对这个可能理有误 了。
在你 workers.properties 配置中如果要改名的话可以改成这样:

wk.list=Hello
wk.Hello.port=8009
wk.Hello.host=localhost
wk.Hello.type=ajp13
wk.Hello.lbfactor=50

其中 wk.Hello.type=ajp13 这个=号后的ajp13 代表着的是协议类型。所以不能改!
不过我看你的配置也怪怪的,httpd.conf 的配置你是怎样写的?没看到 urimap.properties 的配置的?
问题3 的答案,是需要修改 localhost.properties 本机目录配置,但你所发的配置中也没提到它。

要不这样,之前也有个会员问过关于JK的配置,我很详细地写了一个回复,你不妨看看,能不能有帮助:

http://www.oschina.net/discuss/thread/2233

呵呵,是有点像考试题啊。。。

是这样的,如果我按照你的写成wk.list=Hello,后面的ajp13也改名为Hello(type后面的值仍然是ajp13),这样apache和tomcat就连不上,只能把名字写成是ajp13才可以。。。

另外就是,我把workers.properties中的wk.ajp13.host这行用#号注释掉,只要wk.list的名字是ajp13,就仍然能连得上

第2个问题是说,我想把web server 和 app server物理分离,所以用了2台机器,我觉得只要在web server指定的workers.properties里面将wk.ajp13.host的值设为app server的地址就可以了,可是这样配过之后还是不能连通,想问下这个该怎么配。。。

0
梦龙

另外,下面是我在做web server和app server物理分离后,访问页面的错误日志

mod_jk.log:
[Mon Aug 24 17:00:20.656 2009] [3964:1348] [info] jk_connect.c (594): connect to 127.0.0.1:8009 failed (errno=61)
[Mon Aug 24 17:00:20.656 2009] [3964:1348] [info] jk_ajp_common.c (922): Failed opening socket to (127.0.0.1:8009) (errno=61)
[Mon Aug 24 17:00:20.656 2009] [3964:1348] [error] jk_ajp_common.c (1507): (ajp13) connecting to backend failed. Tomcat is probably not started or is listening on the wrong port (errno=61)
[Mon Aug 24 17:00:20.656 2009] [3964:1348] [info] jk_ajp_common.c (2447): (ajp13) sending request to tomcat failed (recoverable), because of error during request sending (attempt=1)
[Mon Aug 24 17:00:21.859 2009] [3964:1348] [info] jk_connect.c (594): connect to 127.0.0.1:8009 failed (errno=61)
[Mon Aug 24 17:00:21.859 2009] [3964:1348] [info] jk_ajp_common.c (922): Failed opening socket to (127.0.0.1:8009) (errno=61)
[Mon Aug 24 17:00:21.859 2009] [3964:1348] [error] jk_ajp_common.c (1507): (ajp13) connecting to backend failed. Tomcat is probably not started or is listening on the wrong port (errno=61)
[Mon Aug 24 17:00:21.859 2009] [3964:1348] [info] jk_ajp_common.c (2447): (ajp13) sending request to tomcat failed (recoverable), because of error during request sending (attempt=2)
[Mon Aug 24 17:00:21.859 2009] [3964:1348] [error] jk_ajp_common.c (2466): (ajp13) connecting to tomcat failed.
[Mon Aug 24 17:00:21.859 2009] [3964:1348] [info] mod_jk.c (2615): Service error=-3 for worker=ajp13

不明白加黑部分为什么还试图去调127.0.0.1的8009端口,我已经在workers.properties中将host设成了别的ip地址了啊

0
范堡
范堡

LS 详细详细看的给你发的回复..里头有个地址...里边能完全解决你所问的问题..特别是 APP 分离。

0
大东哥
大东哥

jk是不是只能跟tomcat配合? weblogic行不行?

0
范堡
范堡

weblogic 的话, 可以用 Nginx

直接通过 nginx 的proxy 到 WebLogic 的 HTTP 端口上即可。

返回顶部
顶部