You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Norton Lam <no...@lamconsulting.com> on 2000/11/21 10:27:54 UTC

Apache + Tomcat + virtual hosts - worker not found

Hi,

I'm having a strange problem and can't seem to find any solution in
the FAQ or this mailing list archive.

I'm running RedHat 6.2, Apache 1.3.14, and Tomcat 3.1.  I installed
mod_jk in Apache and appear to have all the server.xml and
workers.properties files set up correctly.  Both Apache and Tomcat
work individually, but not together.

I'm able to hit pages on intranet.domain.com (apache) and
intranet.domain.com:8087 (tomcat) and get servlets and JSPs
to work on the tomcat server.  But I get a 500 error returned from
the apache server when I try to access a JSP page.

In the jk.log, I get the following error:

[jk_uri_worker_map.c (255)]: Into
jk_uri_worker_map_t::uri_worker_map_open, suffix rule /.jsp=intranet was
added
[jk_uri_worker_map.c (266)]: Into
jk_uri_worker_map_t::uri_worker_map_open, match rule /servlet/=intranet
was added
[jk_uri_worker_map.c (295)]: Into
jk_uri_worker_map_t::uri_worker_map_open, there are 2 rules
[jk_uri_worker_map.c (316)]: jk_uri_worker_map_t::uri_worker_map_open,
done
[jk_uri_worker_map.c (344)]: Into jk_uri_worker_map_t::map_uri_to_worker
[jk_uri_worker_map.c (434)]: jk_uri_worker_map_t::map_uri_to_worker,
done without a match
[jk_uri_worker_map.c (344)]: Into jk_uri_worker_map_t::map_uri_to_worker
[jk_uri_worker_map.c (434)]: jk_uri_worker_map_t::map_uri_to_worker,
done without a match
[jk_uri_worker_map.c (344)]: Into jk_uri_worker_map_t::map_uri_to_worker
[jk_uri_worker_map.c (434)]: jk_uri_worker_map_t::map_uri_to_worker,
done without a match
[jk_uri_worker_map.c (344)]: Into jk_uri_worker_map_t::map_uri_to_worker
[jk_uri_worker_map.c (406)]: jk_uri_worker_map_t::map_uri_to_worker,
Found a match intranet
[jk_worker.c (123)]: Into wc_get_worker_for_name intranet
[jk_worker.c (127)]: wc_get_worker_for_name, done did not found a worker


Note at the top of ths snippet, the rules were added ok.

Here are snippets of my config files:

httpd.conf:

<VirtualHost IP.ad.dr.ess>
    DocumentRoot /home/www/intranet/htdocs
    ServerName intranet.domain.com
    ErrorLog /home/www/intranet/logs/error_log
    CustomLog /home/www/intranet/logs/access_log common
    <IfModule mod_jk.c>
        JkWorkersFile /usr/local/tomcat/conf/workers-intranet.properties
        JkLogFile  /home/www/intranet/logs/jk.log
        JkLogLevel warn
        JkMount /*.jsp intranet
        JkMount /servlet/* intranet
    </IfModule>
</VirtualHost>

workers-intranet.properties:

#
# workers.tomcat_home should point to the location where you
# installed tomcat. This is where you have your conf, webapps and lib
# directories.
#
workers.tomcat_home=/usr/local/tomcat

#
# workers.java_home should point to your Java installation. Normally
# you should have a bin and lib directories beneath it.
#
workers.java_home=/usr/local/java

#
# You should configure your environment slash... ps=\ on NT and / on
UNIX
# and maybe something different elsewhere.
#
# ps=\
ps=/

#
#------ ADVANCED MODE ------------------------------------------------
#---------------------------------------------------------------------
#

#
#------ DEFAULT worker list ------------------------------------------
#---------------------------------------------------------------------
#
#
# The workers that your plugins should create and work with
#
worker.list=intranet

#
#------ DEFAULT ajp12 WORKER DEFINITION ------------------------------
#---------------------------------------------------------------------
#

#
# Defining a worker named www and of type ajp12
# Note that the name and the type do not have to match.
#
worker.intranet.port=8007
worker.intranet.host=localhost
worker.intranet.type=ajp12
#
# 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.intranet.lbfactor=1

server-intranet.xml:

        <Connector
className="org.apache.tomcat.service.SimpleTcpConnector">
            <Parameter name="handler"
value="org.apache.tomcat.service.http.Http
ConnectionHandler"/>
            <Parameter name="port" value="8087"/>
        </Connector>

        <Connector
className="org.apache.tomcat.service.SimpleTcpConnector">
            <Parameter name="handler"
value="org.apache.tomcat.service.connector
.Ajp12ConnectionHandler"/>
            <Parameter name="port" value="8007"/>
        </Connector>


I first start tomcat with 'tomcat.sh start -f
/usr/local/tomcat/conf/server-intranet-xml', then start apache.

Everything looks hunky doory, but the connection between the two
isn't happening.

Any help anyone can give me would be greatly appreciated.

TIA

Norton

Re: Apache + Tomcat + virtual hosts - worker not found

Posted by Dominique BATARD <db...@sf2r.fr>.
I've got the same problem with my mandrake 7.2 box

Recompile mod_jk from sources

Dom

----- Original Message ----- 
From: "Norton Lam" <no...@lamconsulting.com>
To: <to...@jakarta.apache.org>
Sent: Tuesday, November 21, 2000 10:27 AM
Subject: Apache + Tomcat + virtual hosts - worker not found


> Hi,
> 
> I'm having a strange problem and can't seem to find any solution in
> the FAQ or this mailing list archive.
> 
> I'm running RedHat 6.2, Apache 1.3.14, and Tomcat 3.1.  I installed
> mod_jk in Apache and appear to have all the server.xml and
> workers.properties files set up correctly.  Both Apache and Tomcat
> work individually, but not together.
> 
> I'm able to hit pages on intranet.domain.com (apache) and
> intranet.domain.com:8087 (tomcat) and get servlets and JSPs
> to work on the tomcat server.  But I get a 500 error returned from
> the apache server when I try to access a JSP page.
> 
> In the jk.log, I get the following error:
> 
> [jk_uri_worker_map.c (255)]: Into
> jk_uri_worker_map_t::uri_worker_map_open, suffix rule /.jsp=intranet was
> added
> [jk_uri_worker_map.c (266)]: Into
> jk_uri_worker_map_t::uri_worker_map_open, match rule /servlet/=intranet
> was added
> [jk_uri_worker_map.c (295)]: Into
> jk_uri_worker_map_t::uri_worker_map_open, there are 2 rules
> [jk_uri_worker_map.c (316)]: jk_uri_worker_map_t::uri_worker_map_open,
> done
> [jk_uri_worker_map.c (344)]: Into jk_uri_worker_map_t::map_uri_to_worker
> [jk_uri_worker_map.c (434)]: jk_uri_worker_map_t::map_uri_to_worker,
> done without a match
> [jk_uri_worker_map.c (344)]: Into jk_uri_worker_map_t::map_uri_to_worker
> [jk_uri_worker_map.c (434)]: jk_uri_worker_map_t::map_uri_to_worker,
> done without a match
> [jk_uri_worker_map.c (344)]: Into jk_uri_worker_map_t::map_uri_to_worker
> [jk_uri_worker_map.c (434)]: jk_uri_worker_map_t::map_uri_to_worker,
> done without a match
> [jk_uri_worker_map.c (344)]: Into jk_uri_worker_map_t::map_uri_to_worker
> [jk_uri_worker_map.c (406)]: jk_uri_worker_map_t::map_uri_to_worker,
> Found a match intranet
> [jk_worker.c (123)]: Into wc_get_worker_for_name intranet
> [jk_worker.c (127)]: wc_get_worker_for_name, done did not found a worker
> 
> 
> Note at the top of ths snippet, the rules were added ok.
> 
> Here are snippets of my config files:
> 
> httpd.conf:
> 
> <VirtualHost IP.ad.dr.ess>
>     DocumentRoot /home/www/intranet/htdocs
>     ServerName intranet.domain.com
>     ErrorLog /home/www/intranet/logs/error_log
>     CustomLog /home/www/intranet/logs/access_log common
>     <IfModule mod_jk.c>
>         JkWorkersFile /usr/local/tomcat/conf/workers-intranet.properties
>         JkLogFile  /home/www/intranet/logs/jk.log
>         JkLogLevel warn
>         JkMount /*.jsp intranet
>         JkMount /servlet/* intranet
>     </IfModule>
> </VirtualHost>
> 
> workers-intranet.properties:
> 
> #
> # workers.tomcat_home should point to the location where you
> # installed tomcat. This is where you have your conf, webapps and lib
> # directories.
> #
> workers.tomcat_home=/usr/local/tomcat
> 
> #
> # workers.java_home should point to your Java installation. Normally
> # you should have a bin and lib directories beneath it.
> #
> workers.java_home=/usr/local/java
> 
> #
> # You should configure your environment slash... ps=\ on NT and / on
> UNIX
> # and maybe something different elsewhere.
> #
> # ps=\
> ps=/
> 
> #
> #------ ADVANCED MODE ------------------------------------------------
> #---------------------------------------------------------------------
> #
> 
> #
> #------ DEFAULT worker list ------------------------------------------
> #---------------------------------------------------------------------
> #
> #
> # The workers that your plugins should create and work with
> #
> worker.list=intranet
> 
> #
> #------ DEFAULT ajp12 WORKER DEFINITION ------------------------------
> #---------------------------------------------------------------------
> #
> 
> #
> # Defining a worker named www and of type ajp12
> # Note that the name and the type do not have to match.
> #
> worker.intranet.port=8007
> worker.intranet.host=localhost
> worker.intranet.type=ajp12
> #
> # 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.intranet.lbfactor=1
> 
> server-intranet.xml:
> 
>         <Connector
> className="org.apache.tomcat.service.SimpleTcpConnector">
>             <Parameter name="handler"
> value="org.apache.tomcat.service.http.Http
> ConnectionHandler"/>
>             <Parameter name="port" value="8087"/>
>         </Connector>
> 
>         <Connector
> className="org.apache.tomcat.service.SimpleTcpConnector">
>             <Parameter name="handler"
> value="org.apache.tomcat.service.connector
> .Ajp12ConnectionHandler"/>
>             <Parameter name="port" value="8007"/>
>         </Connector>
> 
> 
> I first start tomcat with 'tomcat.sh start -f
> /usr/local/tomcat/conf/server-intranet-xml', then start apache.
> 
> Everything looks hunky doory, but the connection between the two
> isn't happening.
> 
> Any help anyone can give me would be greatly appreciated.
> 
> TIA
> 
> Norton