I have installed Tomcat 6 and Apache 2.0 to use some applications within Tomcat. To have access to the applications over ports 80/443 I have also installed the mod_jk connector. But I got error messages like
build_worker_map::jk_worker.c (236): creating worker ajp13
[Fri Mar 19 12:39:23 2010] [29970:16384] [debug]
wc_create_worker::jk_worker.c (141): about to create instance ajp13 of ajp13
[Fri Mar 19 12:39:23 2010] [29970:16384] [debug]
wc_create_worker::jk_worker.c (154): about to validate and init ajp13
[Fri Mar 19 12:39:23 2010] [29970:16384] [debug]
ajp_validate::jk_ajp_common.c (1806): worker ajp13 contact is
'localhost:8009'
[Fri Mar 19 12:39:23 2010] [29970:16384] [debug]
build_worker_map::jk_worker.c (248): removing old ajp13 worker
Found a wildchar match worker2 -> /hudson/*
[Fri Mar 19 12:39:34 2010] [29973:16384] [debug] jk_handler::mod_jk.c
(1839): Into handler jakarta-servlet worker=worker2 r->proxyreq=0
[Fri Mar 19 12:39:34 2010] [29973:16384] [debug]
wc_get_worker_for_name::jk_worker.c (111): did not find a worker worker2
[Fri Mar 19 12:39:34 2010] [29973:16384] [info] jk_handler::mod_jk.c
(1993): Could not find a worker for worker name=worker2
All the little things within the Apache configuration have been made, but my worker hasn’t been found.
LoadModule jk_module /usr/local/apache2/modules/mod_jk.so
JkWorkersFile /etc/apache2/workers.properties
JkMount /hudson/* worker2
Several hours later, I have found a similar error description on the internet (but no solution…). I wrote a short mail to Rainer Jung, one of the followers, and he said, that the connector will use a default ajp13 worker if it cannot find another one. This means, that the module cannot find my workers property file.
Hm, the file permissions were correct, the file was on the correct path. The Apache documentation gave me the right hint:
The directive JkWorkersFile
must not be within a VirtualHost
directive. I had configured a special vhost for the Tomcat access and moved all the configuration stuff into that directive. The problem has been solved by a simple move of the JkWorkersFile
line out of the VirtualHost
directive. Very simple, damn.