简体   繁体   中英

Apache 2.4 Tomcat7 and mod_jk

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.

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>

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.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM