I was having a bit of trouble with mod_jk1.2.19 and virtual host configuration in apache 2.
I hope I can shed some light on what I discovered and put this question to rest. The error message in the subject can be found all over the net with no helpful responses.I know, I was having this problem and every post about this problem led to a dead end. In re-stating the problem and attempting to provide more clues, I found a solution but have no insight into why this "fixes" the problem. The goal is to hook up apache with tomcat via mod_jk such that I can have separate domains pointing at distinct deployments in the webapps directory. Thus pounding on http://it7.blah.com <http://it7.blah.com/> would connect via mod_jk to the tomcat app in ${tomcat.home}/webapps/it7 and http://it8.blah.com <http://it8.blah.com/> to ${tomcat.home}/webapps/it8 I had successfully configured Tomcat (5.5.16) and mod_jk as evidenced by my working apps and the mod_jk.conf file that is generated under ${tomcat.home}/conf/auto/ The problem arose when configuring apache. My worker.properties file is located in /etc/httpd/conf/worker.properties and tomcat references it and apparently understands it well enough to create a mod_jk.conf file which has a (visually) correct virtual host for every container app in tomcat. This isn't exactly what I want however, so I am not using it other than as evidence that parts of this configuration are working properly. With my configuration( See below), after restarting apache, the following appears in the mod_jk.log file. [Wed Sep 27 16:01:18 2006] [2867:63648] [debug] jk_map_resolve_references::jk_map.c (638): Checking for references with prefix worker. with wildcard (recursion1) [Wed Sep 27 16:01:18 2006] [2867:63648] [debug] build_worker_map::jk_worker.c (236): creating worker worker1 [Wed Sep 27 16:01:18 2006] [2867:63648] [debug] wc_create_worker::jk_worker.c (141): about to create instance worker1 of ajp13 [......] [Wed Sep 27 16:01:18 2006] [2867:63648] [debug] build_worker_map::jk_worker.c (236): creating worker inprocess [Wed Sep 27 16:01:18 2006] [2867:63648] [error] wc_create_worker::jk_worker.c (134): Unknown worker type jni for worker inprocess --- Huh? [Wed Sep 27 16:01:18 2006] [2867:63648] [error] build_worker_map::jk_worker.c (256): failed to create worker inprocess [Wed Sep 27 16:01:18 2006] [2867:63648] [debug] close_workers::jk_worker.c (212): close_workers will destroy worker worker1 <------------------------------- my worker is getting destroyed [Wed Sep 27 16:01:18 2006] [2867:63648] [debug] ajp_destroy::jk_ajp_common.c (2131): up to 10 endpoints to close [Wed Sep 27 16:01:19 2006] [3052:63648] [debug] do_shm_open::jk_shm.c (252): Shared memory is already open [....] [Wed Sep 27 16:01:19 2006] [3052:63648] [debug] jk_handler::mod_jk.c (1920): Into handler jakarta-servlet worker=worker1 r->proxyreq=0 [Wed Sep 27 16:01:19 2006] [3052:63648] [debug] wc_get_worker_for_name::jk_worker.c (111): did not find a worker worker1 [Wed Sep 27 16:01:19 2006] [3052:63648] [info] jk_handler::mod_jk.c (2071): Could not find a worker for worker name=worker1 This message was originally to be a plea for help and in reviewing the data and configuration, I discovered that the inprocess worker is in the worker.properties sample file by default. worker.list=worker1,inprocess worker1 is ajp13 in the sample. The problem appears to be that "inprocess" shouldn't be in the worker.list. When I remove the inprocess worker from the list, I get the results I was after. It all appears to work properly now. Specific (broken) configuration is below. ======================================================================== ======================================== >From httpd.conf: JkWorkersFile /etc/httpd/conf/workers.properties # Where to put the JK logs JkLogFile /var/log/httpd/mod_jk.log # jk log level JkLogLevel debug # select the log format JkLogStampFormat "[%a %b %d %H:%M:%S %Y] " # JkOptions indicate to send SSL KEY SIZE, JkOptions +ForwardKeySize +ForwardURICompat +ForwardDirectories # JkRequestLogFormat set the request format JkRequestLogFormat "%w %V %T" In the Virtualhost container: <VirtualHost it7.blah.com> alias / "/usr/local/tomcat/webapps/it7/" <Directory "/usr/local/tomcat/webapps/it7/"> Options Indexes FollowSymLinks DirectoryIndex index.jsp </Directory> <Location "/WEB-INF/*"> AllowOverride None deny from all </Location> <Location "/META-INF/*"> AllowOverride None deny from all </Location> JkMount /*.jsp worker1 JkMount /*.action worker1 JkMount /*.vm worker1 JkMount /service/* worker1 </VirtualHost> worker.list=worker1,inprocess worker.worker1.port=8009 worker.worker1.host=qe-app1.itn.hire.com worker.worker1.type=ajp13 worker.worker1.lbfactor=1 worker.worker1.connection_pool_size=10 worker.worker1.connection_pool_timeout=600 worker.worker1.socket_keepalive=1 worker.loadbalancer.type=lb worker.loadbalancer.balance_workers=lbworker worker.inprocess.type=jni