You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Emerson Cargnin <em...@tre-sc.gov.br> on 2004/04/01 22:17:01 UTC

Re: trying to solve mod_jk with tomcat 1.3 mistery.... (SOLVED)

Finally got it working, Apache 1.3.29, jk 1.2.5 and tomcat 5.0.19 on 
Suse 9.0.

Just found out that I was in mistake in the worker.properties file (and 
the jkmount directives).

My jkmount was:

JkMount /sgip/* ajp13

As I found in most of the documentation.

The problem was that in my worker.properties file i had the worker1.type 
to ajp13, but the name of it was worker1:

worker.worker1.type=ajp13
worker.worker1.host=localhost


I changed the jkmout (now still hardcoded into my http.conf)


JkMount /sgip/* worker1

and now it works just as perfect :)


Sorry for getting you tired with this shit :P kidding, I LOVE TOMCAT ;)

BTW, connect_timeout, prepost_timeout and reply_timeout properties of 
workers are available just in jk1.2.6 and later. In apache binaries, 
there's no build of jk1.2 for linux, and in sources (where I built mine 
from) there's just 1.2.5 version...


here goes the documentation:

connect_timeout  property told webserver to send a PING request on ajp13 
connection after connection is established. The parameter is the delay 
in milliseconds to wait for the PONG reply.

This features has been added in jk 1.2.6 to avoid problem with hung 
tomcat's and require ajp13 ping/pong support which has been implemented 
on Tomcat 3.3.2+, 4.1.28+ and 5.0.13+ . Disabled by default.

prepost_timeout property told webserver to send a PING request on ajp13 
connection before forwarding to it a request. The parameter is the delay 
in milliseconds to wait for the PONG reply.

This features has been added in jk 1.2.6 to avoid problem with hung 
tomcat's and require ajp13 ping/pong support which has been implemented 
on Tomcat 3.3.2+, 4.1.28+ and 5.0.13+ . Disabled by default.

reply_timeout property told webserver to wait some time for reply to a 
forwarded request before considering the remote tomcat is dead and 
eventually switch to another tomcat in a cluster group. By default 
webserver will wait forever which could be an issue for you. The 
parameter is the number of milliseconds to wait for reply, so adjust it 
carrefully if you have long running servlets.

This features has been added in jk 1.2.6 to avoid problem with hung 
tomcat's and works on all servlet engines supporting ajp13. Disabled by 
default.

recovery_options property told webserver how to handle recovery when it 
detect that tomcat failed. By default, webserver will forward the 
request to another tomcat in LB mode (or to another ajp thread in ajp13 
mode). values are : 0 (full recovery), 1 (don't recover if tomcat failed 
after getting the request), 2 (don't recover if tomcat failed after 
sending the headers to client), 3 (don't recover if tomcat failed 
getting the request or after sending the headers to client).

This features has been added in jk 1.2.6 to avoid problem with 
hung/broken tomcat's and works on all servlet engines supporting ajp13. 
Full recovery by default.





Emerson Cargnin wrote:
> David Smith wrote:
> 
>> Did you ever get an answer to this?
>>
> 
> no, unhappily not.... still waiting and trying:)
> 
> 
> 
> 
>> I had a very similar problem while working with virtual hosts and 
>> where to place the different directives in the httpd.conf file.  Got 
>> it working by placing all but the JkMount directives in the top level 
>> of the httpd.conf right after the LoadModules section (Apache 
>> 2.0.47).  JkMount directives went into the virtual host block and it 
>> worked.
>>
>> This probably won't help if you aren't working with virtual hosts.
>>
>> --David
>>
>> Emerson Cargnin wrote:
>>
>>> OK, this time I'm using mod_jk 1.2.5
>>>
>>> the rest of configuration is the same, although now I'm using the ip for
>>> worker configuration, instead of the host name.
>>>
>>>
>>> ANY CLUE???
>>>
>>>
>>> The log in mod_jk.log is:
>>>
>>> ed Mar 31 20:01:34 2004]  [jk_uri_worker_map.c (172)]: Into 
>>> jk_uri_worker_map_t::uri_worker_map_alloc
>>> [Wed Mar 31 20:01:34 2004]  [jk_uri_worker_map.c (375)]: Into 
>>> jk_uri_worker_map_t::uri_worker_map_open
>>> [Wed Mar 31 20:01:34 2004]  [jk_uri_worker_map.c (396)]: 
>>> jk_uri_worker_map_t::uri_worker_map_open, rule map size is 2
>>> [Wed Mar 31 20:01:34 2004]  [jk_uri_worker_map.c (345)]: Into 
>>> jk_uri_worker_map_t::uri_worker_map_open, exact rule /sgip=ajp13 was 
>>> added
>>> [Wed Mar 31 20:01:34 2004]  [jk_uri_worker_map.c (321)]: Into 
>>> jk_uri_worker_map_t::uri_worker_map_open, match rule /sgip/=ajp13 was 
>>> added
>>> [Wed Mar 31 20:01:34 2004]  [jk_uri_worker_map.c (408)]: Into 
>>> jk_uri_worker_map_t::uri_worker_map_open, there are 2 rules
>>> [Wed Mar 31 20:01:34 2004]  [jk_uri_worker_map.c (422)]: 
>>> jk_uri_worker_map_t::uri_worker_map_open, done
>>> [Wed Mar 31 20:01:34 2004]  [jk_worker.c (88)]: Into wc_open
>>> [Wed Mar 31 20:01:34 2004]  [jk_worker.c (222)]: Into 
>>> build_worker_map, creating 1 workers
>>> [Wed Mar 31 20:01:34 2004]  [jk_worker.c (228)]: build_worker_map, 
>>> creating worker worker1
>>> [Wed Mar 31 20:01:34 2004]  [jk_worker.c (148)]: Into wc_create_worker
>>> [Wed Mar 31 20:01:34 2004]  [jk_worker.c (162)]: wc_create_worker, 
>>> about to create instance worker1 of ajp13
>>> [Wed Mar 31 20:01:34 2004]  [jk_ajp13_worker.c (108)]: Into 
>>> ajp13_worker_factory
>>> [Wed Mar 31 20:01:34 2004]  [jk_worker.c (171)]: wc_create_worker, 
>>> about to validate and init worker1
>>> [Wed Mar 31 20:01:34 2004]  [jk_ajp_common.c (1343)]: Into 
>>> jk_worker_t::validate
>>> [Wed Mar 31 20:01:34 2004]  [jk_ajp_common.c (1364)]: In 
>>> jk_worker_t::validate for worker worker1 contact is 10.9.7.58:8009
>>> [Wed Mar 31 20:01:34 2004]  [jk_ajp_common.c (1397)]: Into 
>>> jk_worker_t::init
>>> [Wed Mar 31 20:01:34 2004]  [jk_ajp_common.c (1421)]: In 
>>> jk_worker_t::init, setting socket timeout to 300
>>> [Wed Mar 31 20:01:34 2004]  [jk_worker.c (187)]: wc_create_worker, done
>>> [Wed Mar 31 20:01:34 2004]  [jk_worker.c (238)]: build_worker_map, 
>>> removing old worker1 worker
>>> [Wed Mar 31 20:01:34 2004]  [jk_worker.c (250)]: build_worker_map, done
>>> [Wed Mar 31 20:01:34 2004]  [jk_worker.c (111)]: wc_open, done 1
>>> [Wed Mar 31 20:02:03 2004]  [jk_uri_worker_map.c (486)]: Into 
>>> jk_uri_worker_map_t::map_uri_to_worker
>>> [Wed Mar 31 20:02:03 2004]  [jk_uri_worker_map.c (500)]: Attempting 
>>> to map URI '/'
>>> [Wed Mar 31 20:02:03 2004]  [jk_uri_worker_map.c (618)]: 
>>> jk_uri_worker_map_t::map_uri_to_worker, done without a match
>>> [Wed Mar 31 20:02:03 2004]  [jk_uri_worker_map.c (486)]: Into 
>>> jk_uri_worker_map_t::map_uri_to_worker
>>> [Wed Mar 31 20:02:03 2004]  [jk_uri_worker_map.c (500)]: Attempting 
>>> to map URI '/index.html'
>>> [Wed Mar 31 20:02:03 2004]  [jk_uri_worker_map.c (618)]: 
>>> jk_uri_worker_map_t::map_uri_to_worker, done without a match
>>> [Wed Mar 31 20:02:03 2004]  [jk_uri_worker_map.c (486)]: Into 
>>> jk_uri_worker_map_t::map_uri_to_worker
>>> [Wed Mar 31 20:02:03 2004]  [jk_uri_worker_map.c (500)]: Attempting 
>>> to map URI '/HEADER'
>>> [Wed Mar 31 20:02:03 2004]  [jk_uri_worker_map.c (618)]: 
>>> jk_uri_worker_map_t::map_uri_to_worker, done without a match
>>> [Wed Mar 31 20:02:03 2004]  [jk_uri_worker_map.c (486)]: Into 
>>> jk_uri_worker_map_t::map_uri_to_worker
>>> [Wed Mar 31 20:02:03 2004]  [jk_uri_worker_map.c (500)]: Attempting 
>>> to map URI '/README'
>>> [Wed Mar 31 20:02:03 2004]  [jk_uri_worker_map.c (618)]: 
>>> jk_uri_worker_map_t::map_uri_to_worker, done without a match
>>> [Wed Mar 31 20:02:08 2004]  [jk_uri_worker_map.c (486)]: Into 
>>> jk_uri_worker_map_t::map_uri_to_worker
>>> [Wed Mar 31 20:02:08 2004]  [jk_uri_worker_map.c (500)]: Attempting 
>>> to map URI '/sgip/'
>>> [Wed Mar 31 20:02:08 2004]  [jk_uri_worker_map.c (524)]: 
>>> jk_uri_worker_map_t::map_uri_to_worker, Found a context match ajp13 
>>> -> /sgip/
>>> [Wed Mar 31 20:02:08 2004]  [jk_worker.c (132)]: Into 
>>> wc_get_worker_for_name ajp13
>>> [Wed Mar 31 20:02:08 2004]  [jk_worker.c (136)]: 
>>> wc_get_worker_for_name, done did not found a worker
>>>
>>>
>>>
>>> Emerson Cargnin wrote:
>>>
>>>> Just to add....
>>>>
>>>> Tomcat shows up the following message. It looks like apache is 
>>>> sending an ajp12 and tomcat expects and ajp13 protocol....
>>>>
>>>> I fI can't build the mod_jk. How do I set tomcat 5 to handle AJP12...
>>>>
>>>>
>>>> Emerson Cargnin wrote:
>>>>
>>>>> Hi all.
>>>>>
>>>>> I'm in a proccess to upgrade to tomcat 5.
>>>>>
>>>>> As I'm testing in my own machine (suse 9 / apache 1.3 , server has 
>>>>> suse 8 / apache 1.3), using the old configuration didn't work, as 
>>>>> the .so neede an Apache NOEAPI. Ok, I'll now describe my current 
>>>>> problem.
>>>>>
>>>>> I configure direct in apache to load the .so and configure the 
>>>>> worker and log files.
>>>>>
>>>>>
>>>>> It looks like apache is redirecting but can't connect to tomcat.
>>>>> It looks like the mod_jk I'm using is version 1.2.2. Does this can 
>>>>> handle AJP1.3????
>>>>>
>>>>> I just doens't work the redirecting.
>>>>>
>>>>> In tomcat ftp site, there's no binary dist for the connectors 
>>>>> (http://www.apache.org/dist/jakarta/tomcat-connectors/jk/binaries/linux/). 
>>>>>
>>>>>
>>>>> there's binaries just for the jk2...
>>>>>
>>>>>
>>>>> httpd.conf:
>>>>>
>>>>> LoadModule jk_module /usr/lib/apache/mod_jk.so
>>>>>
>>>>> AddModule mod_jk.c
>>>>>
>>>>>
>>>>> <IfModule mod_jk.c>
>>>>>    JkWorkersFile 
>>>>> /home/emersonc/jakarta-tomcat-5.0.19_new/conf/workers.properties
>>>>>    JkLogFile /home/emersonc/jakarta-tomcat-5.0.19_new/logs/mod_jk.log
>>>>>    JkLogLevel debug
>>>>>    JkMount /sgip ajp13
>>>>>    JkMount /sgip/* ajp13
>>>>>
>>>>> </IfModule>
>>>>>
>>>>> obs: I put the jkmount here just to test.
>>>>>
>>>>>
>>>>> My workers.properties file:
>>>>>
>>>>>
>>>>> worker.list=ajp13
>>>>>
>>>>> worker.ajp13.host=elbassan.tre-sc.gov.br
>>>>> worker.ajp13.port=8009
>>>>> worker.ajp13.lbfactor=50
>>>>> worker.ajp13.cachesize=10
>>>>> worker.ajp13.cache_timeout=600
>>>>> worker.ajp13.socket_keepalive=1
>>>>> worker.ajp13.socket_timeout=300
>>>>>
>>>>>
>>>>> apache.error log file:
>>>>>
>>>>> [Wed Mar 31 18:18:01 2004] [notice] Apache/1.3.28 (Linux/SuSE) 
>>>>> mod_jk/1.2.2 configured -- resuming normal operations
>>>>> [Wed Mar 31 18:18:01 2004] [notice] suEXEC mechanism enabled 
>>>>> (wrapper: /usr/sbin/suexec)
>>>>> [Wed Mar 31 18:18:01 2004] [notice] Accept mutex: sysvsem (Default: 
>>>>> sysvsem)
>>>>>
>>>>>
>>>>> mod_jk log file (in debug mode)
>>>>>
>>>>> [Wed Mar 31 18:33:14 2004]  [jk_worker.c (118)]: Into wc_close
>>>>> [Wed Mar 31 18:33:14 2004]  [jk_worker.c (199)]: close_workers got 
>>>>> 1 workers to destroy
>>>>> [Wed Mar 31 18:33:14 2004]  [jk_worker.c (206)]: close_workers will 
>>>>> destroy worker ajp13
>>>>> [Wed Mar 31 18:33:14 2004]  [jk_ajp12_worker.c (266)]: Into 
>>>>> jk_worker_t::destroy
>>>>> [Wed Mar 31 18:33:14 2004]  [jk_worker.c (120)]: wc_close, done
>>>>> [Wed Mar 31 18:33:14 2004]  [jk_uri_worker_map.c (190)]: Into 
>>>>> jk_uri_worker_map_t::uri_worker_map_free
>>>>> [Wed Mar 31 18:33:14 2004]  [jk_uri_worker_map.c (441)]: Into 
>>>>> jk_uri_worker_map_t::uri_worker_map_close
>>>>> [Wed Mar 31 18:33:14 2004]  [jk_uri_worker_map.c (172)]: Into 
>>>>> jk_uri_worker_map_t::uri_worker_map_alloc
>>>>> [Wed Mar 31 18:33:14 2004]  [jk_uri_worker_map.c (375)]: Into 
>>>>> jk_uri_worker_map_t::uri_worker_map_open
>>>>> [Wed Mar 31 18:33:14 2004]  [jk_uri_worker_map.c (396)]: 
>>>>> jk_uri_worker_map_t::uri_worker_map_open, rule map size is 2
>>>>> [Wed Mar 31 18:33:14 2004]  [jk_uri_worker_map.c (345)]: Into 
>>>>> jk_uri_worker_map_t::uri_worker_map_open, exact rule /sgip=ajp13 
>>>>> was added
>>>>> [Wed Mar 31 18:33:14 2004]  [jk_uri_worker_map.c (321)]: Into 
>>>>> jk_uri_worker_map_t::uri_worker_map_open, match rule /sgip/=ajp13 
>>>>> was added
>>>>> [Wed Mar 31 18:33:14 2004]  [jk_uri_worker_map.c (408)]: Into 
>>>>> jk_uri_worker_map_t::uri_worker_map_open, there are 2 rules
>>>>> [Wed Mar 31 18:33:14 2004]  [jk_uri_worker_map.c (422)]: 
>>>>> jk_uri_worker_map_t::uri_worker_map_open, done
>>>>> [Wed Mar 31 18:33:14 2004]  [jk_worker.c (88)]: Into wc_open
>>>>> [Wed Mar 31 18:33:14 2004]  [jk_worker.c (222)]: Into 
>>>>> build_worker_map, creating 1 workers
>>>>> [Wed Mar 31 18:33:14 2004]  [jk_worker.c (228)]: build_worker_map, 
>>>>> creating worker ajp13
>>>>> [Wed Mar 31 18:33:14 2004]  [jk_worker.c (148)]: Into wc_create_worker
>>>>> [Wed Mar 31 18:33:14 2004]  [jk_worker.c (162)]: wc_create_worker, 
>>>>> about to create instance ajp13 of ajp12
>>>>> [Wed Mar 31 18:33:14 2004]  [jk_ajp12_worker.c (283)]: Into 
>>>>> ajp12_worker_factory
>>>>> [Wed Mar 31 18:33:14 2004]  [jk_worker.c (171)]: wc_create_worker, 
>>>>> about to validate and init ajp13
>>>>> [Wed Mar 31 18:33:14 2004]  [jk_ajp12_worker.c (200)]: Into 
>>>>> jk_worker_t::validate
>>>>> [Wed Mar 31 18:33:14 2004]  [jk_ajp12_worker.c (212)]: In 
>>>>> jk_worker_t::validate for worker ajp13 contact is 
>>>>> elbassan.tre-sc.gov.br:8009
>>>>> [Wed Mar 31 18:33:14 2004]  [jk_worker.c (187)]: wc_create_worker, 
>>>>> done
>>>>> [Wed Mar 31 18:33:14 2004]  [jk_worker.c (238)]: build_worker_map, 
>>>>> removing old ajp13 worker
>>>>> [Wed Mar 31 18:33:14 2004]  [jk_worker.c (250)]: build_worker_map, 
>>>>> done
>>>>> [Wed Mar 31 18:33:14 2004]  [jk_worker.c (111)]: wc_open, done 1
>>>>>
>>>>> #after trying to access a tomcat context
>>>>>
>>>>>
>>>>> [Wed Mar 31 18:34:12 2004]  [jk_uri_worker_map.c (460)]: Into 
>>>>> jk_uri_worker_map_t::map_uri_to_worker
>>>>> [Wed Mar 31 18:34:12 2004]  [jk_uri_worker_map.c (477)]: Attempting 
>>>>> to map URI '/sgip'
>>>>> [Wed Mar 31 18:34:12 2004]  [jk_uri_worker_map.c (491)]: 
>>>>> jk_uri_worker_map_t::map_uri_to_worker, Found an exact match ajp13 
>>>>> -> /sgip
>>>>> [Wed Mar 31 18:34:12 2004]  [jk_worker.c (132)]: Into 
>>>>> wc_get_worker_for_name ajp13
>>>>> [Wed Mar 31 18:34:12 2004]  [jk_worker.c (136)]: 
>>>>> wc_get_worker_for_name, done  found a worker
>>>>> [Wed Mar 31 18:34:12 2004]  [jk_ajp12_worker.c (242)]: Into 
>>>>> jk_worker_t::get_endpoint
>>>>> [Wed Mar 31 18:34:12 2004]  [jk_ajp12_worker.c (137)]: Into 
>>>>> jk_endpoint_t::service
>>>>> [Wed Mar 31 18:34:12 2004]  [jk_connect.c (158)]: Into jk_open_socket
>>>>> [Wed Mar 31 18:34:12 2004]  [jk_connect.c (165)]: jk_open_socket, 
>>>>> try to connect socket = 25
>>>>> [Wed Mar 31 18:34:12 2004]  [jk_connect.c (174)]: jk_open_socket, 
>>>>> after connect ret = -1
>>>>> [Wed Mar 31 18:34:12 2004]  [jk_connect.c (203)]: jk_open_socket, 
>>>>> connect() failed errno = 111
>>>>> [Wed Mar 31 18:34:12 2004]  [jk_ajp12_worker.c (151)]: In 
>>>>> jk_endpoint_t::service, sd = -1
>>>>> [Wed Mar 31 18:34:12 2004]  [jk_ajp12_worker.c (169)]: In 
>>>>> jk_endpoint_t::service, Error sd = -1
>>>>> [Wed Mar 31 18:34:12 2004]  [jk_ajp12_worker.c (180)]: Into 
>>>>> jk_endpoint_t::done
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
>> For additional commands, e-mail: tomcat-user-help@jakarta.apache.org
>>
>>
> 
> 


-- 
Emerson Cargnin
Analista de Sistemas
Setor de Desenvolvimento de Sistemas - TRE-SC
tel : (048) - 251-3700 - Ramal 3181

---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-user-help@jakarta.apache.org