我正在使用 apache2 + mod_jk(ajp 协议)+ tomcat7。
但我总是收到以下错误:
[Sat Mar 30 17:30:54.691 2013] [25238:3074365824] [info] init_jk::mod_jk.c (3365): mod_jk/1.2.37 initialized
[Sat Mar 30 17:30:54.691 2013] [25238:3074365824] [error] extension_fix::jk_uri_worker_map.c (564): Could not find worker with name 'jk-manager' in uri map post processing.
[Sat Mar 30 17:30:54.691 2013] [25238:3074365824] [error] extension_fix::jk_uri_worker_map.c (564): Could not find worker with name 'jk-status' in uri map post processing.
有什么线索吗?
答案1
我相信您需要 tomcat 管理包(对我来说,它是 tomcat6-admin)来提供jk-manager
和jk-status
。安装后,您只需在文件中配置这两项workers.properties
。
如果找不到workers.properties
文件,请查看您的 apache 配置,例如:grep -r JkWorkersFile /etc/apache2
。配置应该包含类似以下内容,指示文件的路径workers.properties
:
<IfModule jk_module>
JkWorkersFile /etc/libapache2-mod-jk/workers.properties
# ...
</IfModule>
在您的workers.properties
文件中:
确保您具有以下内容或类似内容:
# 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
答案2
workers.properties
尝试打开文件(例如在记事本中)检查是否存在不需要的特殊字符,如此处建议的那样(https://stackoverflow.com/questions/3666649/apache-httpd-2-2-x-mod-jk-1-2-30-tomcat-6-error-could-not-find-worker-with)。