mod_jk проблемы с подключением apache2 и tomcat6

Я пытаюсь настроить mod_jk для пересылки запросов моему веб-приложению, работающему в tomcat. (Я читал еще, где этот mod_proxy_ajp - это путь, но сначала хочу разобраться с этим). Я новичок в tomcat и mod_jk.

Я пытаюсь получить доступ -- http://www.example.com/test/index.jsp< /а>

Я получаю ошибку 400 в своих журналах apache после того, как настроил mod_jk. Веб-приложение работает нормально, когда я тестирую его непосредственно в tomcat. В файле журнала mod_jk я вижу, что он пытается сопоставить A/index.jsp, но с ошибкой 400. Итак, я вижу, что mod_jk вызывается, но почему-то modjk не видит веб-приложение.

Любая помощь приветствуется

Я работаю на SuSe Linux 11 и использую apache и tomcat на одном компьютере.

Мой httpd.conf представляет собой монолитный файл. В нем я добавил следующее --

<IfModule jk_module>
Alias /test/ "/srv/tomcat6/webapps/A"
JkWorkersFile   /usr/local/apache2/conf/workers.properties
JkShmFile       /usr/local/apache2/logs/mod_jk.shm
JkLogFile       /usr/local/apache2/logs/mod_jk.log
JkLogLevel      debug
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "

JKMount        /test/ A1
JkMount     /test/* A1
JkOptions       +ForwardSSLCertChain
</IfModule>

У меня есть следующее в work.properties:

#Define 1 real worker using ajp13
worker.list=A
#Set properties for worker1 (ajp13)
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009
worker.ajp13.lbfactor=50
worker.ajp13.cachesize=10
worker.ajp13.cache_timeout=600
worker.ajp13.socket_keepalive=1
worker.ajp13.socket_timeout=300

Спасибо, - Вася


person user220201    schedule 29.11.2009    source источник


Ответы (2)


Ваш рабочий называется A, но ваш JkMount сопоставляется с A1. У вас должна быть одна такая запись,

JkMount /тест/* А

Я использовал как mod_jk, так и mod_proxy_ajp. При большой нагрузке mod_jk работает лучше, потому что соединение mod_jk более постоянное. mod_proxy действительно намного проще настроить.

РЕДАКТИРОВАТЬ: рабочая конфигурация также неверна. Это должно быть что-то вроде этого,

#Define 1 real worker using ajp13
worker.list=A
#Set properties for worker1 (ajp13)
worker.A.type=ajp13
worker.A.host=localhost
worker.A.port=8009
worker.A.lbfactor=50
worker.A.cachesize=10
worker.A.cache_timeout=600
worker.A.socket_keepalive=1
worker.A.socket_timeout=300
person ZZ Coder    schedule 30.11.2009
comment
Привет, это была ошибка в сообщении. Спасибо, что изучили это, но изменение его на A тоже не работает. Так вы говорите, что в противном случае это выглядит правильно? -Вас - person user220201; 01.12.2009
comment
Большое спасибо!! Вчера я не соображал. Потратил много времени на настройку apache, tomcat и mod_jk. Рад, что это ошибка копирования. \n Спасибо также за разъяснение mod_jk и mod_proxy. Из того, что я читал, я тоже думал, что mod_jk лучше, но после прочтения статей я был сбит с толку, что mod_jk мертв. Будет придерживаться mod_jk - Vas - person user220201; 01.12.2009

Ты загрузил модуль?

 LoadModule jk_module [path to it]

Директива будет истинной, если она уже загружена или скомпилирована, я думаю.

person Sean A.O. Harney    schedule 29.11.2009
comment
да. У меня есть директива для загрузки модуля -- LoadModule jk_module modules/mod_jk.so - person user220201; 30.11.2009