tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rainer Jung <rainer.j...@kippdata.de>
Subject Re: /context not working -- mod_jk error: no match for /server-status
Date Thu, 03 Sep 2009 17:26:15 GMT
On 03.09.2009 19:15, Dennis Christopher wrote:
> The problem is that I am trying to support simple references to my
> context without the tomcat port explicitly included.
> 
> example: myexample.com/sample should invoke the web-app sample.

You don't have a JkMount for /sample, only one for /sample/*.
What happens, if you point your browser to

http://my.apache.name/sample/

If it doesn't work, extract the lines from your mod_jk log, that refer
to this request. Look for something like

... [A_NUMBER:ANOTHER_NUMBER] ... Attempting to map URI '/sample/' from ...

Then note A_NUMBER:ANOTHER_NUMBER which are the process and thread id
used for the request, and get all lines form the log, which have a
timestamp close to your request and use the same IDs.

Check whether there are any non-debug lines in there. If you can't see
what goes wrong, post those lines.

Regards,

Rainer

> what happens instead: the browser tells me: "file not found".
> 
> looking at catalina.out it seems the request doesnt reach Tomcat at all.
> 
> How I did it: he quick start guide at
> 
> http://tomcat.apache.org/connectors-doc/generic_howto/quick.html
> 
> gives a simple proof of concept for a context setup (/examples").
> 
> which I have followed implicitly. I believe you have already seen what I
> have done with the config files I posted.
> 
> Dennis
> 
> P.S as it may be important - if I try example.com:8080/sample the main
> page of my web app loads but all of its subreferences, to gif images
> etc, are broken.
> 
> 
> On Sep 3, 2009, at 12:48 PM, Rainer Jung wrote:
> 
>> On 03.09.2009 15:34, Dennis Christopher wrote:
>>> Rainer,
>>>
>>> I am not sending /server-status explicitly.
>>>
>>> The mod_jk log which I excerpted earlier shows the processing of
>>> server-status before any context is asked for, apparently when Tomcat
>>> starts up.
>>>
>>> The log continues to repeat these entries - apparently mod_jk is looping
>>> trying to satisfy this context and never does.
>>
>> No I'm pretty sure this is not the case. I expect someone has a
>> monitoring tool running or a browser windows with auto-refresh for
>> /server-status and that's what produces those debug log lines in mod_jk.
>> No problem per se.
>>
>> So back to the basic question: what is your problem? What are you trying
>> to achieve, what did you do to make it work, how do you test it, what
>> result do you expect and what happens instead?
>>
>> Regards,
>>
>> Rainer
>>
>>> I added JkMountCopy All but this had no effect.
>>>
>>> Dennis
>>> On Sep 3, 2009, at 4:18 AM, Rainer Jung wrote:
>>>
>>>> On 02.09.2009 21:45, Dennis Christopher wrote:
>>>>> Rainer,
>>>>>
>>>>> Thanks for the reply. I was confused in my orginal post: I am not using
>>>>> JBoss at all, only mod_jk.
>>>>>
>>>>> The file contents are as follows below.
>>>>>
>>>>> Apache has a hosts directory, but I'm not sure if the files matter.
>>>>> They
>>>>> are either the apache .default files or slight modifications of them,
>>>>> e.g. virtual_host_global.conf contains just:
>>>>>
>>>>> Listen *:80
>>>>
>>>> I don't understand, why you test this with a request /server-status.
>>>> That doesn't make sense, because you don't want /server-status to be
>>>> forwarded by mod_jk and in fact you didn't configure it.
>>>>
>>>> So choose a better URL to test (one of the URLs you have a JkMount for)
>>>> and add "JkMountCopy All".
>>>>
>>>> Regards,
>>>>
>>>> Rainer
>>>>
>>>>> 1. uriworkermap.properties -- not used
>>>>>
>>>>> 2. from apache2/httpd.conf:
>>>>>
>>>>> LoadModule jk_module libexec/apache2/mod_jk.so
>>>>> .
>>>>> .
>>>>> <IfModule mod_jk.c>
>>>>>       JKWorkersFile /etc/apache2/workers.properties
>>>>>       JKLogFile /var/log/apache2/mod_jk.log
>>>>>       JKLogLevel debug
>>>>>       JKShmFile /var/log/apache2/mod_jk.shm
>>>>>       JKMount /*.jsp JBoss1
>>>>>       JKMount /servlet/* JBoss1
>>>>>       JKMount /examples/* JBoss1
>>>>>       JKMount /picturetalk/* JBoss1
>>>>>       JKMount /sample/* JBoss1
>>>>> </IfModule>
>>>>> .
>>>>> .
>>>>>
>>>>> 3. from apache2/workers.properties:
>>>>>
>>>>> worker.list=JBoss1, JBoss2, loadbalancer, blojsomworker
>>>>>
>>>>> # ------------------------
>>>>> # First JBoss server
>>>>> # ------------------------
>>>>> worker.JBoss1.port=8009
>>>>> worker.JBoss1.host=127.0.0.1
>>>>> worker.JBoss1.type=ajp13
>>>>>
>>>>> # Specify the size of the open connection cache.
>>>>> #worker.JBoss1.cachesize
>>>>>
>>>>> #
>>>>> # Specifies the load balance factor when used with
>>>>> # a load balancing worker.
>>>>> # Note:
>>>>> #  ----> lbfactor must be > 0
>>>>> #  ----> Low lbfactor means less work done by the worker.
>>>>> worker.JBoss1.lbfactor=100
>>>>>
>>>>>
>>>>> # ------------------------
>>>>> # Second JBoss server
>>>>> # ------------------------
>>>>> #worker.JBoss2.port=9008
>>>>> #worker.JBoss2.host=localhost
>>>>> worker.JBoss2.lbfactor=100
>>>>>
>>>>>
>>>>> # ------------------------
>>>>> # Load Balancer worker
>>>>> # ------------------------
>>>>>
>>>>> #
>>>>> # The loadbalancer (type lb) worker performs weighted round-robin
>>>>> # load balancing with sticky sessions.
>>>>> # Note:
>>>>> #  ----> If a worker dies, the load balancer will check its state
>>>>> #        once in a while. Until then all work is redirected to peer
>>>>> #        worker.
>>>>> worker.loadbalancer.type=lb
>>>>> worker.loadbalancer.balanced_workers=JBoss1, JBoss2
>>>>>
>>>>> # ------------------------
>>>>> # Blojsom worker
>>>>> # ------------------------
>>>>> #
>>>>> # Worker created specifically for Blojsom.
>>>>> worker.blojsomworker.port=1279
>>>>> worker.blojsomworker.host=127.0.0.1
>>>>> worker.blojsomworker.type=ajp13
>>>>> worker.blojsomworker.lbfactor=100
>>>>>
>>>>>
>>>>> # END workers.properties
>>>>> #
>>>>>
>>>>> On Sep 2, 2009, at 2:05 PM, Rainer Jung wrote:
>>>>>
>>>>>> On 27.08.2009 15:45, Dennis Christopher wrote:
>>>>>>> environment: Tomcat 6.0.18 under apache2 on Mac OS X Server 10.5
>>>>>>> (Leopard).
>>>>>>>
>>>>>>> I am using a mod_jk connector with JBoss.
>>>>>>>
>>>>>>> I am having trouble getting context urls of the form
>>>>>>> website.my.com/myapplication honoured (or even
>>>>>>> localhost/myapplication).
>>>>>>> (Safari:File not found).I have googled  the error messages below
but
>>>>>>> can't find anything applicable to my setup.
>>>>>>>
>>>>>>> The quick start guide at
>>>>>>>
>>>>>>> http://tomcat.apache.org/connectors-doc/generic_howto/quick.html
>>>>>>>
>>>>>>> gives a simple proof of concept for a connector setup (/examples").
>>>>>>> However, this does not work,
>>>>>>> though I have followed the editing of the configuration files
exactly
>>>>>>> (using JKMount in the httpd.conf etc)
>>>>>>>
>>>>>>> I get an error in mod_jk.log (set to debug level):
>>>>>>>
>>>>>>> [Tue Aug 25 12:41:11.783 2009] [211:2688784416] [debug]
>>>>>>> map_uri_to_worker_ext::jk_uri_worker_map.c (1036): (TEST)
>>>>>>> Attempting to
>>>>>>> map URI '/server-status' from 5 maps
>>>>>>> [Tue Aug 25 12:41:11.783 2009] [211:2688784416] [debug]
>>>>>>> map_uri_to_worker_ext::jk_uri_worker_map.c (1039): Initial match
>>>>>>> value:for URI '/server-status' is -1.
>>>>>>> [Tue Aug 25 12:41:11.783 2009] [211:2688784416] [debug]
>>>>>>> find_match::jk_uri_worker_map.c (850): Attempting to map context
URI
>>>>>>> '/examples/*=JBoss1' source 'JkMount'
>>>>>>> [Tue Aug 25 12:41:11.783 2009] [211:2688784416] [debug]
>>>>>>> find_match::jk_uri_worker_map.c (850): Attempting to map context
URI
>>>>>>> '/servlet/*=JBoss1' source 'JkMount'
>>>>>>> [Tue Aug 25 12:41:11.783 2009] [211:2688784416] [debug]
>>>>>>> find_match::jk_uri_worker_map.c (850): Attempting to map context
URI
>>>>>>> '/sample/*=JBoss1' source 'JkMount'
>>>>>>> [Tue Aug 25 12:41:11.784 2009] [211:2688784416] [debug]
>>>>>>> find_match::jk_uri_worker_map.c (850): Attempting to map context
URI
>>>>>>> '/*.jsp=JBoss1' source 'JkMount'
>>>>>>> [Tue Aug 25 12:41:11.784 2009] [211:2688784416] [debug]
>>>>>>> map_uri_to_worker_ext::jk_uri_worker_map.c (1047): Match
>>>>>>> value:for URI
>>>>>>> '/server-status' is -1.
>>>>>>> [Tue Aug 25 12:41:11.784 2009] [211:2688784416] [debug]
>>>>>>> jk_translate::mod_jk.c (3536): no match for /server-status found
>>>>>>>
>>>>>>> Any help on how to diagnose what the seeming error is pointing
to
>>>>>>> would
>>>>>>> be much appreciated.
>>>>>>
>>>>>> This log snippet is not useful, because the request you used was
for
>>>>>> /server-status, which is most likely not a request you want mod_jk
to
>>>>>> send to JBoss.
>>>>>>
>>>>>> Please post all your JK directives from your httpd.conf and the files
>>>>>> included in that. Also post your workers.properties, and if you use
it
>>>>>> the uriworkermap.properties file.
>>>>>>
>>>>>> The most common cause why simple setups do not work is the use of
>>>>>> virtual hosts in the Apache configuration. If you have virtual hosts,
>>>>>> you have to put JkMount into the virtual hosts, or you set
>>>>>> "JkMountCopy
>>>>>> All" in the global part of the configuration.
>>>>>>
>>>>>> Regards,
>>>>>>
>>>>>> Rainer

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


Mime
View raw message