PDA

Просмотр полной версии : Связь Apache2 и Tomcat 5.0



laura
02.02.2005, 10:16
Установлены Apache 2.0.52, JK 1.2.8 for Apache 2.0.52 и Tomcat 5.0.28.
Под виндой.
В конец httpd.conf добавлены для связи настройки:
LoadModule jk_module modules/mod_jk.so
JkWorkersFile "C:/Program Files/Apache Group/Tomcat 5.0/conf/workers.properties"
JkLogFile "C:/Program Files/Apache Group/Tomcat 5.0/logs/mod_jk.log"
JkLogLevel debug
Alias /servlet "C:/Program Files/Apache Group/Tomcat 5.0/webapps/servlets-examples/"
Alias /jsp "C:/Program Files/Apache Group/Tomcat 5.0/webapps/jsp-examples/"
JkMount /servlet/* myWorker
JkMount /jsp/*.jsp myWorker
<location "/jsp/web-inf/">
AllowOverride None
deny from all
</location>

При запросе http://localhost/jsp/ выдается начальная страничка примеров, а сами примеры посмотреть не получается :(, ругается так:

HTTP Status 404 - /jsp/jsp2/el/basic-arithmetic.jsp
type Status report
message /jsp/jsp2/el/basic-arithmetic.jsp
description The requested resource (/jsp/jsp2/el/basic-arithmetic.jsp) is not available.
Apache Tomcat/5.0.28

Хотя если смотреть эти примеры без Apache, а сразу через Tomcat, то все ОК.
Подскажите, пожалуйста, в чем может быть ошибка??

AiK
02.02.2005, 14:31
Медитируй вот в этом направлении: /jsp/jsp2/

laura
03.02.2005, 09:36
Не получается, даже после медитации...
И проблемы не только с /jsp/jsp2/, но и с другими подкаталогами, хотя, к примеру,
http://localhost/jsp/jsp2/el/basic-arithmetic.html открывается.
Все каталоги и файлы на месте, это уж давно проверено.

AiK
03.02.2005, 13:17
У тебя прописано в конфиге:
/jsp/web-inf/
а лежит реально всё судя по всему в
/jsp/jsp2/web-inf/

Кроме того, в location, на сколько я помню, необходимо задавать абсолютный путь. Т.е. C:/ и т.д.

laura
03.02.2005, 14:27
У меня все лежит там, где и прописано в конфиге. А добавление полного пути в location абсолютно ничего не дает

AiK
03.02.2005, 16:17
laura, а что логи по этому поводу говорят?

DaDa Cloun
03.11.2005, 17:42
У меня абсолютно такая же проблема!
Я когда начал читать форум, даже подумал что сам написал =)
И само неприятное, что я не нашел решение данной проблемы.

А логи ничего не говорят.
Лог mod_jk пишет что отправил запрос Tomcat'у.
А томкат ничего интересного не говорит. Не нашел ресурс и все тут.

AiK
03.11.2005, 21:16
DaDa Cloun, я томкат тысячу лет назад последний раз запускал. Поэтому просто пытаюсь угадывать :)

Очевидно, что проблема в следующем: томкату сказали считать, что JSP это тот, кто имеет расширение .jsp и находится в папке /jsp/. Но! Папка эта виртуальная, и её название не должно фигурировать при внутреннем обращении к jsp.
Напиши полный путь, где находится basic-arithmetic.jsp. У меня есть подозрение, что это отнюдь не
C:/Program Files/Apache Group/Tomcat 5.0/webapps/jsp-examples/jsp/jsp2/el/basic-arithmetic.jsp

AiK
03.11.2005, 21:18
Да, сосбтвенно в логах должен быть указан полный путь, по которому он пытается загрузить basic-arithmetic.jsp. И, очевидно, он не совпадает с реальным.

DaDa Cloun
04.11.2005, 16:15
На один шажок я продвинулся.
На самом деле надо было еще немного поправить конфиг томката:
<Host name="localhost" debug="0" appBase="j:/projects/htdocs/www/jsp"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">

Теперь он ошибок не выдает. В логи ничег не пишет (как и раньше). А броузер отображает просто пустую страницу. И я в полном тупике.

Вот конфиг httpd.conf второго апача:
LoadModule jk_module modules/mod_jk.so
JkWorkersFile "j:/apache2/conf/workers.properties"
JkLogFile "j:/apache2/logs/mod_jk.log"
JkRequestLogFormat "%w %V %T"

<VirtualHost localhost:80>
ServerAdmin customer@customer.com
DocumentRoot "j:/projects/htdocs/www/jsp"
ServerName localhost
DirectoryIndex index.html index.htm index.shtml index.shtm index.jsp
JkAutoAlias "j:/projects/htdocs/www/jsp"
JkRequestLogFormat "%w %v \"%r\" %U %s %T"
JkMount /*.jsp local
JkMount /servlet/* local
ErrorLog "j:/apache2/logs/jsp/error_log"
CustomLog "j:/apache2/logs/jsp/access_log" combined
</VirtualHost>

Тепрь j:/apache2/conf/workers.properties
worker.list=local
worker.local.type=ajp13
worker.local.host=localhost
worker.local.port=8009

И накоенц-то некоторые строчки из server.xml TomCat'а:
<Host name="localhost" debug="0" appBase="j:/projects/htdocs/www/jsp" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">

<Connector port="8009" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" debug="0" acceptCount="100" protocol="AJP/1.3" connectionTimeout="20000"/>

Логи апача и так всем понятны. А логи томката не содержат вообще ничего новго после загрузки. Единственные логи которые хоть что-то информативное содержат - это лог mod_jk:
[Fri Nov 04 15:44:31 2005] local localhost "GET /jsp2/el/basic-arithmetic.jsp HTTP/1.1" /jsp2/el/basic-arithmetic.jsp 400 0.020000

[Fri Nov 04 15:44:32 2005] local localhost "GET /jsp2/el/basic-arithmetic.jsp HTTP/1.1" /jsp2/el/basic-arithmetic.jsp 400 0.000000

[Fri Nov 04 15:44:32 2005] local localhost "GET /jsp2/el/basic-arithmetic.jsp HTTP/1.1" /jsp2/el/basic-arithmetic.jsp 400 0.000000

[Fri Nov 04 15:44:32 2005] local localhost "GET /jsp2/el/basic-arithmetic.jsp HTTP/1.1" /jsp2/el/basic-arithmetic.jsp 400 0.000000

[Fri Nov 04 15:44:32 2005] local localhost "GET /jsp2/el/basic-arithmetic.jsp HTTP/1.1" /jsp2/el/basic-arithmetic.jsp 400 0.000000

[Fri Nov 04 16:08:27 2005] local localhost "GET /jsp2/el/basic-arithmetic.jsp HTTP/1.1" /jsp2/el/basic-arithmetic.jsp 400 0.000000

[Fri Nov 04 16:09:18 2005] local localhost "GET /jsp2/el/basic-arithmetic.jsp HTTP/1.1" /jsp2/el/basic-arithmetic.jsp 400 0.010000
ну и т.д.

А все же вот логи tomcat'a
INFO: Starting Coyote HTTP/1.1 on http-8080
04.11.2005 16:16:47 org.apache.jk.common.ChannelSocket init
INFO: JK2: ajp13 listening on /0.0.0.0:8009
04.11.2005 16:16:47 org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/90 config=null
04.11.2005 16:16:47 org.apache.catalina.startup.Catalina start
INFO: Server startup in 2183 ms
04.11.2005 16:17:11 org.apache.jk.common.ChannelSocket processConnection
INFO: connection timeout reached

А в результате после клика на сылку basic-arithmetic.jsp в броузере я имею абсолютно пустую страницу. Помогите, плз...

DaDa Cloun
04.11.2005, 23:03
Блин! Все заработало.
Я отказался от каких-либо изменений настроек server.xml томката.
За-то в апаче изменил рут с моей директории, на стандартную томкатовскую (Tomcat 5.5/webapp) и все заработало. Видимо там были какие-то специфичные пути, или файлы.
Буду разбираться.