Portál AbcLinuxu, 14. května 2025 01:15

Dotaz: Nefungující spolupráce Apache2 a Tomcatu 6 skrze modul mod_jk verze 1.2.30

26.8.2010 21:39 Mic-net
Nefungující spolupráce Apache2 a Tomcatu 6 skrze modul mod_jk verze 1.2.30
Přečteno: 327×
Odpovědět | Admin
Dobrý den, prosím o radu:

1. mám virtuální web na Apache2 www.neco.cz a vše na něm funguje jak má. 2. mám virtuální web na Tomcatu6 java.neco.cz:8080 a vše na něm funguje jak má.

Skrze komponentu Apache2 mod_jk (Jakarta) která bohužel nefunguje se snažím aby vše běželo skrze port 80 Apatch2. V error logu po té co zadám do prohlížeče adresu http://java.neco.cz se ukáže hláška: "Service Temporarily Unavailable" Apache/2.2.9 (Debian) mod_jk/1.2.30 PHP/5.2.6-1+lenny9 with Suhosin-Patch Server at java.neco.cz Port 80

a ve zmíněném error logu je:
[Thu Aug 26 21:17:50.718 2010] [4553:140295005394768] [error] jk_open_socket::jk_connect.c (444): socket() failed (errno=22)
[Thu Aug 26 21:17:50.718 2010] [4553:140295005394768] [error] ajp_send_request::jk_ajp_common.c (1585): (java_neco_cz) connecting to backend failed. Tomcat is probably not$
[Thu Aug 26 21:17:50.817 2010] [4553:140295005394768] [error] jk_open_socket::jk_connect.c (444): socket() failed (errno=22)
[Thu Aug 26 21:17:50.817 2010] [4553:140295005394768] [error] ajp_send_request::jk_ajp_common.c (1585): (java_neco_cz) connecting to backend failed. Tomcat is probably not$
[Thu Aug 26 21:17:50.817 2010] [4553:140295005394768] [error] ajp_service::jk_ajp_common.c (2559): (java_neco_cz) connecting to tomcat failed.
Přitom službu mám na daném portu otevřenou pomocí řádku v souboru server.xml Tomcatu:
<Connector port="8009"  protocol="AJP/1.3" redirectPort="8443"/>
A i ho pomocí příkazu netstat -tap vidím jako spuštěný a naslouchávající:
tcp6       0      0 [::]:8009               [::]:*                  LISTEN      4424/java
V workers.properties mám:
workers.tomcat_home=/usr/share/tomcat6
workers.java_home=/usr/lib/jvm/java-6-sun
worker.list=java_neco_cz
worker.java_neco_cz.port=8009
worker.java_neco_cz.host=localhost
worker.java_neco_cz.type=ajp13
worker.loadbalancer.type=lb
worker.java_neco_cz.lbfactor=1
worker.loadbalancer.balance_workers=java_neco_cz
V mod-enables mám:
<IfModule mod_jk.c>
JkWorkersFile /etc/libapache2-mod-jk/workers.properties
JkLogFile /var/log/apache2/mod_jk.log
JkShmFile /var/log/apache2/jk-runtime-status.log
JkLogLevel error
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
</IfModule>
A v konfiguraci virtuálního webu mám:
<VirtualHost *:80>
ServerAdmin webmaster@neco.cz
ServerName java.neco.cz

JkMount /* java_neco_cz
JkMount /*.jsp java_neco_cz

DirectoryIndex index.jsp index.html
<LocationMatch ".*WEB-INF.*">
deny from all
</LocationMatch>
ErrorLog /var/log/apache2/java.neco.cz-err.log
LogLevel error
CustomLog /var/log/apache2/java.neco.cz-acc.log combined

</VirtualHost>
Napadá prosím někoho kde mám chybu?

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

26.8.2010 21:47 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Nefungující spolupráce Apache2 a Tomcatu 6 skrze modul mod_jk verze 1.2.30
Odpovědět | | Sbalit | Link | Blokovat | Admin
Máte ten port 8009 povolený na firewallu? Jinak mod_jk je myslím zastaralý, je lepší místo něj používat mod_proxy.
26.8.2010 21:58 Mic-net
Rozbalit Rozbalit vše Re: Nefungující spolupráce Apache2 a Tomcatu 6 skrze modul mod_jk verze 1.2.30
Na serveru nemám žádný dodatečný firewall, neb toto řeším jinak.

Příkaz iptables --list vypíše že nejsou definovány žádná pravidla. Je to správně? Má komunikace má probíhat skrze localhost.

Použít mod_proxy mě nenapadlo. A tak ho teď považuji za záložní plán.
27.8.2010 10:00 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Nefungující spolupráce Apache2 a Tomcatu 6 skrze modul mod_jk verze 1.2.30
Nemůže být problém v tom, že Tomcat nasluchá jen na IPv6 adresách, ale Apache se snaží připojit na IPv4?
27.8.2010 11:28 Mic-net
Rozbalit Rozbalit vše Re: Nefungující spolupráce Apache2 a Tomcatu 6 skrze modul mod_jk verze 1.2.30
Děkuji za nápad, také mě to napadlo, ale bohužel tím to není... :-( (Abych měl jistotu na chvilku jsem na serveru úplně vypnul podporu IPv6 a stejně to nefunguje.)
27.8.2010 11:38 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Nefungující spolupráce Apache2 a Tomcatu 6 skrze modul mod_jk verze 1.2.30
Hlásí to chybu 22, což je „illegal argument“. Není tam za portem nebo hostname třeba nějaký divný bílý znak? Taky bych zkusil místo hostname dát rovnou IP adresu.
27.8.2010 12:32 Mic-net
Rozbalit Rozbalit vše Re: Nefungující spolupráce Apache2 a Tomcatu 6 skrze modul mod_jk verze 1.2.30
Obojí jsem prověřil a obojí bylo s negativním výsledkem. :-( Mě už vůbec nic nenapadá...
Řešení 1× (Mic-net (tazatel))
27.8.2010 16:00 Mic-net
Rozbalit Rozbalit vše Re: Nefungující spolupráce Apache2 a Tomcatu 6 skrze modul mod_jk verze 1.2.30
Tak jsem to vzdal a použil jsem modul Apache2 mod_proxy.

Tento postup doporučuji všem...
27.8.2010 16:01 Mic-net
Rozbalit Rozbalit vše Re: Nefungující spolupráce Apache2 a Tomcatu 6 skrze modul mod_jk verze 1.2.30
Ale i tak moc děkuji za snahu pomoc mi.
27.8.2010 17:15 nazdarek
Rozbalit Rozbalit vše Re: Nefungující spolupráce Apache2 a Tomcatu 6 skrze modul mod_jk verze 1.2.30
a proc je mod_jk zastaraly? Ja mel za to ,ze jeho hlavni vyhoda je optimalizace prenosu dat mezi apache - tomcat. dik
27.8.2010 17:56 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Nefungující spolupráce Apache2 a Tomcatu 6 skrze modul mod_jk verze 1.2.30
Vzhledem k tomu, že ten přenos je typicky v rámci počítače, přinejhorším po lokálí síti, je optimalizace přenosu trochu bezpředmětná. Doporučení používat mod_proxy místo mod_jk jsem četl vždy od autorů Jetty, ale většina uváděných argumentů platí i obecně.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.