问题
I want to connect apache2.4 with tomcat7
My configuration is:
workers.properties
workers.tomcat_home=/var/lib/tomcat7
workers.java_home=/usr/lib/jvm/java-7-oracle
worker.list=worker1
worker.worker1.type=ajp13
worker.worker1.host=domain.com
worker.worker1.port=8009
in jk.conf:
JkWorkersFile /etc/apache2/workers.properties
JkLogStampFormat "[%b %d %Y - %H:%M:%S] "
JkRequestLogFormat "%w %V %T"
#JkAutoAlias /var/lib/tomcat7/webapps
#JkMountCopy All
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
JkMount /ROOT/ worker1
JkMount /ROOT/* worker1
When i resterting apache i have an error:
[Jun 13 2014 - 11:32:50] [23256:140183177717632] [info] init_jk::mod_jk.c (3365): mod_jk/1.2.37 initialized
[Jun 13 2014 - 11:32:50] [23256:140183177717632] [error] extension_fix::jk_uri_worker_map.c (564): Could not find worker with name 'jk-manager' in uri map post processing.
[Jun 13 2014 - 11:32:50] [23256:140183177717632] [error] extension_fix::jk_uri_worker_map.c (564): Could not find worker with name 'jk-status' in uri map post processing.
[Jun 13 2014 - 11:32:50] [23257:140183177717632] [info] init_jk::mod_jk.c (3365): mod_jk/1.2.37 initialized
[Jun 13 2014 - 11:32:50] [23257:140183177717632] [error] extension_fix::jk_uri_worker_map.c (564): Could not find worker with name 'jk-manager' in uri map post processing.
[Jun 13 2014 - 11:32:50] [23257:140183177717632] [error] extension_fix::jk_uri_worker_map.c (564): Could not find worker with name 'jk-status' in uri map post processing.
Do you know what is wrong ?
I cannot open application, i have empty page.
回答1:
You can ignore those errors referencing 'jk-manager' and 'jk-status' unless you want to enable management of the mod.
You need to move the JK mount directive in to the VirtualHost section of your website. You can add the following to /etc/apache2/sites-available/default
<VirtualHost *:80> ... # Send everything for /* to worker1 JkMount /* worker1 ... </VirtualHost>
回答2:
It looks like maybe you're missing a configuration for jk-manager
and jk-status
. You just need to write them into your workers.properties
file. (And if you don't have the tomcat admin package, I believe you need it. If you don't want to install anything, just check out the 'Alternatively' section at the bottom of this post.)
If you can't find workers.properties
file, have a look at your apache config, for example: grep -r JkWorkersFile /etc/apache2
. The config should contain something like the following, which indicates the path of the workers.properties
file:
<IfModule jk_module>
JkWorkersFile /etc/libapache2-mod-jk/workers.properties
# ...
</IfModule>
In your workers.properties
file:
Make sure you have the following or something like it:
# configure jk-status
worker.list=jk-status
worker.jk-status.type=status
worker.jk-status.read_only=true
# configure jk-manager
worker.list=jk-manager
worker.jk-manager.type=status
Alternatively
Alternatively, you can just remove the XML elements that define jk-manager and jk-status from your Apache config.
来源:https://stackoverflow.com/questions/24202171/apache-2-4-tomcat7-and-mod-jk