PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Apache2 - Tomcat - Suse 9.1 ... Tomcat antwortet nicht



juedler
14.09.04, 13:20
Hallo

Ich habe auf zwei PCs Suse 9.1 mit Apache2 und Tomcat über YAST installiert.

Auf beiden das gleiche Bild:

Apache2 funktioniert auch gut und auch sonst läuft der Rechner gut,
aber Tomcat antwortet nicht, wenn ich es über Port 8080 anspreche. Es kommt keine Testseite.

Firewall ist aus.

Kann mir jemand helfen?

Im vorraus schon mal Danke!

Ciao
Ronald

fippu
18.10.04, 11:05
salut
ich habe das selbe Problem ;-)
Hast du bis heute eine Lösung gefunden?
Greets Fippu

marce
18.10.04, 11:42
Vermutlich liegt es an dem magnetischen Feld, dass sich zwischen den beiden PCs aufbaut. Ist eine natürliche elektromagnetische Firewall...

Oder das Gehäuse ist grün. Tomcat läuft nur auf roten Rechnern.


-> soll heissen: ohne die Configs vom Tomcat (erstmal) oder eine funktionsfähige Glaskugel ist es recht schwer, was zu sagen...


edit: ... oder eben die Fehlermeldung - aus den Logs, dem Browser, ...

fippu
18.10.04, 11:55
Also ich habe folgende Meldung in der Konsole:
linux:~ # /opt/lampp/lampp start
Starte XAMPP fr Linux 1.4.9a...
XAMPP: Ein Apache läft bereits.
XAMPP: Starte MySQL...
XAMPP: Starte ProFTPD...
XAMPP fr Linux gestartet.
linux:~ # rctomcat start
Starting Tomcat (/usr/share/tomcat) failed

Unter http://localhost/ kommt die Meldung, dass Apache läuft.
Unter http://localhost:8080 kommt jedoch nichts (wäre ja der Standardport).

marce
18.10.04, 13:12
... und was steht in (bei Dir dann vermutlich) /usr/share/tomcat/logs/catalina.out?

fippu
18.10.04, 19:31
Das ist ja lustig, die letzten Einträge sind vom 1. Oktober??? Aber ich habe gerade vorhin versucht den Tomcat zu starten...
Blickst du da noch durch?

xare
18.10.04, 20:51
was sagt
/usr/share/tomcat/bin/catalina.sh run
?

MfG Xare

fippu
18.10.04, 22:18
Ich glaube wir sind auf dem richtigen Weg!!
Also ich habe es ausgeführt und es gab eine riesen Ausgabe. Wenn ich jetzt http://localhost:8080 oder http://127.0.0.1:8080 aufrufe kommt nicht mehr die Meldung, dass die Seite nicht mehr gefunden wurde, sondern es kommt einfach nichts (immerhin das). Also einfach eine weisse Seite.
Könnte das ein gutes Zeichen sein?!

Wenn ich jetzt ./startup.sh aufrufe kommt:
Using CATALINA_BASE: /usr/share/tomcat
Using CATALINA_HOME: /usr/share/tomcat
Using CATALINA_TMPDIR: /usr/share/tomcat/temp
Using JAVA_HOME: /usr/lib/SunJava2-1.4

Aber immer noch mit einem leeren Browser-Fenster...

marce
19.10.04, 08:29
mal "doof" gefragt: was liegt denn in dem Webapps-Verzeichnis vom Tomcat drin? Und poste bitte doch mal die confs vom Tomcat...

... liefert ps -fe denn laufenden java-Prozesse, nachdem Du den Tomcat gestartet hast?

Und poste doch bitte auch mal die "Riesenmeldung", die kommt.

Steht jetzt denn was neues im catalina.out?

fippu
19.10.04, 11:43
Im Webapps-Verzeichnis (/usr/share/tomcat/webapps) gibt es momentan nur ein *.jsp-File und ein balancer-Verzeichnis in welchem unter anderem das nötige WEB-INF-Verzeichnis ist.
Das *.jsp-File ist ein von mir erstelltes File, welches ich zum Test jeweils aufrufe. Es ist nur das nötigste drin, einfach zum sehen, ob es funktioniert oder nicht.
Angezeigt wird immer noch nur eine leere Seite.

ps -fe liefert unter anderem folgendes:
- root 5395 1 4 11:23 pts/1 00:00:05 /usr/lib/SunJava2-1.4/bin/java -Djava.endorsed.dirs=/usr/share/t

In catalina.out steht unter dem aktuellen Datum folgendes:


StandardServer.await: create[8005]: java.net.BindException: Address already in use
java.net.BindException: Address already in use
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.PlainSocketImpl.bind(PlainSocketImpl.java :331)
at java.net.ServerSocket.bind(ServerSocket.java:318)
at java.net.ServerSocket.<init>(ServerSocket.java:185)
at org.apache.catalina.core.StandardServer.await(Stan dardServer.java:534)
at org.apache.catalina.startup.Catalina.await(Catalin a.java:657)
at org.apache.catalina.startup.Catalina.start(Catalin a.java:617)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Native MethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.apache.catalina.startup.Bootstrap.start(Bootst rap.java:297)
at org.apache.catalina.startup.Bootstrap.main(Bootstr ap.java:398)
19.10.2004 11:23:38 org.apache.coyote.http11.Http11Protocol init
INFO: Initializing Coyote HTTP/1.1 on port 8080
19.10.2004 11:23:38 org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 2080 ms
19.10.2004 11:23:38 org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
19.10.2004 11:23:38 org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/5.0.19
19.10.2004 11:23:38 org.apache.catalina.core.StandardHost start
INFO: XML validation disabled
19.10.2004 11:23:38 org.apache.catalina.core.StandardHost getDeployer
INFO: Create Host deployer for direct deployment ( non-jmx )
19.10.2004 11:23:38 org.apache.catalina.core.StandardHostDeployer install
INFO: Processing Context configuration file URL file:/etc/tomcat/base/Catalina/localhost/manager.xml
19.10.2004 11:23:39 org.apache.catalina.core.StandardHostDeployer install
INFO: Processing Context configuration file URL file:/etc/tomcat/base/Catalina/localhost/admin.xml
19.10.2004 11:23:40 org.apache.struts.util.PropertyMessageResources <init>
INFO: Initializing, config='org.apache.struts.util.LocalStrings', returnNull=true
19.10.2004 11:23:40 org.apache.struts.util.PropertyMessageResources <init>
INFO: Initializing, config='org.apache.struts.action.ActionResources', returnNull=true
19.10.2004 11:23:40 org.apache.struts.util.PropertyMessageResources <init>
INFO: Initializing, config='org.apache.webapp.admin.ApplicationResourc es', returnNull=true
19.10.2004 11:23:43 org.apache.catalina.core.StandardHostDeployer install
INFO: Processing Context configuration file URL file:/etc/tomcat/base/Catalina/localhost/balancer.xml
19.10.2004 11:23:43 org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on port 8080
19.10.2004 11:23:44 org.apache.jk.common.ChannelSocket init
INFO: JK2: ajp13 listening on /0.0.0.0:8009
19.10.2004 11:23:44 org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=2/290 config=/usr/share/tomcat/conf/jk2.properties
19.10.2004 11:23:44 org.apache.catalina.startup.Catalina start
INFO: Server startup in 5947 ms
Die Riesenmeldung beinhaltet also meinen Start, es steht jedoch etwas von "Already in use...".

Jetzt habe ich auch gerade ein *.html-File in das Webapps Verzeichnis erstellt und dies über http://localhost:8080/test.html aufgerufen und nicht einmal diese File wurde angezeigt. Kann es sein, dass ich mich im falschen Verzeichnis befinde?!

marce
19.10.04, 13:01
Es scheint also schon ein Server auf dem Port zu laufen. Entweder ein alter, der nicht richtig beendet wurde (kommt vor), oder sonst irgendwas anderes.

Ich welchem Verzeichnis die Daten liegen müssen steht in der server.xml - nochmals die Bitte, die doch mal zu posten...

kommt bei dem ps -fe nur 1 java-Prozess, der zu Tomcat gehört - eigentlich müssten es mehrere sein...? Welches Datum / Uhrzeit hat denn der Prozess?

fippu
19.10.04, 15:59
Also hier mal die Ausgabe der laufenden Dienste vor Starten von Tomcat:

UID PID PPID C STIME TTY TIME CMD
root 1 0 2 15:37 ? 00:00:05 init [5]
root 2 1 0 15:37 ? 00:00:00 [ksoftirqd/0]
root 3 1 0 15:37 ? 00:00:00 [events/0]
root 4 3 0 15:37 ? 00:00:00 [kacpid]
root 5 3 0 15:37 ? 00:00:00 [kblockd/0]
root 6 3 0 15:37 ? 00:00:00 [khelper]
root 7 3 0 15:37 ? 00:00:00 [pdflush]
root 8 3 0 15:37 ? 00:00:00 [pdflush]
root 10 3 0 15:37 ? 00:00:00 [aio/0]
root 9 1 0 15:37 ? 00:00:00 [kswapd0]
root 163 1 0 15:37 ? 00:00:00 [kseriod]
root 324 3 0 15:37 ? 00:00:00 [reiserfs/0]
root 748 3 0 15:37 ? 00:00:00 [kcopyd]
root 1649 1 0 15:37 ? 00:00:00 [khubd]
root 1695 1 0 15:37 ? 00:00:00 [pccardd]
root 1709 1 0 15:37 ? 00:00:00 [pccardd]
root 1761 1 0 15:37 ? 00:00:00 /sbin/cardmgr
root 2159 1 0 15:37 ? 00:00:00 [hwscand]
root 2339 1 0 15:37 ? 00:00:00 [khpsbpkt]
root 2364 1 0 15:37 ? 00:00:00 /sbin/dhcpcd -H -D -N -t 999999 -h linux eth0
root 2459 1 0 15:37 ? 00:00:00 [knodemgrd_0]
root 3102 1 0 15:38 ? 00:00:00 /sbin/syslogd -a /var/lib/dhcp/dev/log -a /var/lib/named/dev/log -a /var/l
root 3105 1 0 15:38 ? 00:00:00 /sbin/klogd -c 1 -2
bin 3155 1 0 15:38 ? 00:00:00 /sbin/portmap
root 3157 1 0 15:38 ? 00:00:00 /sbin/resmgrd
root 3266 1 0 15:38 ? 00:00:00 /usr/sbin/slmodemd --country=GERMANY /dev/slamr0
root 3318 1 0 15:38 ? 00:00:00 /usr/sbin/sshd -o PidFile=/var/run/sshd.init.pid
root 3490 1 0 15:38 ? 00:00:00 /usr/sbin/powersaved -d -e /etc/powersave.conf -a resmgr -v 3
lp 4015 1 0 15:38 ? 00:00:00 /usr/sbin/cupsd
root 4019 1 0 15:38 ? 00:00:00 /usr/sbin/nscd
root 4048 1 0 15:38 ? 00:00:00 /usr/sbin/smpppd
root 4058 1 0 15:38 ? 00:00:00 /opt/kde3/bin/kdm
root 4115 4058 7 15:38 ? 00:00:08 /usr/X11R6/bin/X -nolisten tcp -br vt7 -auth /var/lib/xdm/authdir/authfile
root 4119 1 0 15:38 ? 00:00:00 /usr/lib/postfix/master
postfix 4164 4119 0 15:38 ? 00:00:00 pickup -l -t fifo -u
postfix 4165 4119 0 15:38 ? 00:00:00 qmgr -l -t fifo -u
root 4190 4058 0 15:38 ? 00:00:00 -:0
root 4227 1 0 15:38 ? 00:00:00 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf
root 4257 1 0 15:38 ? 00:00:00 /usr/sbin/cron
root 4310 1 0 15:38 tty1 00:00:00 /sbin/mingetty --noclear tty1
root 4311 1 0 15:38 tty2 00:00:00 /sbin/mingetty tty2
root 4312 1 0 15:38 tty3 00:00:00 /sbin/mingetty tty3
root 4313 1 0 15:38 tty4 00:00:00 /sbin/mingetty tty4
root 4314 1 0 15:38 tty5 00:00:00 /sbin/mingetty tty5
root 4315 1 0 15:38 tty6 00:00:00 /sbin/mingetty tty6
wwwrun 4320 4227 0 15:38 ? 00:00:00 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf
wwwrun 4321 4227 0 15:38 ? 00:00:00 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf
wwwrun 4322 4227 0 15:38 ? 00:00:00 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf
wwwrun 4323 4227 0 15:38 ? 00:00:00 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf
wwwrun 4324 4227 0 15:38 ? 00:00:00 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf
dude 4332 4190 0 15:38 ? 00:00:00 /bin/sh /usr/X11R6/bin/kde
dude 4393 1 0 15:38 ? 00:00:00 kdeinit: Running...
dude 4396 1 0 15:38 ? 00:00:00 kdeinit: dcopserver --nosid
dude 4398 4393 0 15:38 ? 00:00:00 kdeinit: klauncher
dude 4401 1 0 15:38 ? 00:00:00 kdeinit: kded
dude 4410 4393 0 15:39 ? 00:00:00 /opt/kde3/bin/artsd -F 10 -S 4096 -s 5 -m artsmessage -l 3 -f
dude 4412 1 0 15:39 ? 00:00:00 kdeinit: knotify
dude 4413 4332 0 15:39 ? 00:00:00 kwrapper ksmserver
dude 4415 1 0 15:39 ? 00:00:00 kdeinit: ksmserver
dude 4416 4393 1 15:39 ? 00:00:01 kdeinit: kwin -session 117f000002000109475852700000107280000_1098181258_1 2
dude 4418 1 0 15:39 ? 00:00:00 kdeinit: kwrited
dude 4420 1 0 15:39 ? 00:00:00 kdeinit: khotkeys
dude 4422 1 1 15:39 ? 00:00:01 kdeinit: kdesktop
dude 4424 1 2 15:39 ? 00:00:02 kdeinit: kicker
dude 4425 4393 0 15:39 ? 00:00:00 kdeinit: kio_file file /tmp/ksocket-dude/klaunchera1K1Ea.slave-socket /tmp
dude 4429 1 1 15:39 ? 00:00:00 kdeinit: klipper
dude 4431 1 1 15:39 ? 00:00:00 kpowersave
dude 4432 1 1 15:39 ? 00:00:00 kamix
dude 4435 4393 1 15:39 ? 00:00:00 kinternet -caption Kinternet -icon kinternet -miniicon kinternet --quiet
dude 4437 1 1 15:39 ? 00:00:00 susewatcher -caption SuSE Watcher -icon kinternet.png -miniicon kinternet.
dude 4438 1 1 15:39 ? 00:00:01 suseplugger -caption SUSE Plugger -icon hi22-action-hardware.png -miniicon
dude 4443 4393 0 15:39 ? 00:00:00 kdeinit: konqueror --preload
dude 4445 1 0 15:39 ? 00:00:00 kdeinit: kio_uiserver
dude 4469 4393 13 15:39 ? 00:00:07 /opt/MozillaFirefox/lib/firefox-bin
dude 4487 1 0 15:39 ? 00:00:00 /opt/gnome/lib/GConf/2/gconfd-2 9
dude 4516 4393 5 15:40 ? 00:00:01 kdeinit: konsole
dude 4517 4516 0 15:40 pts/1 00:00:00 /bin/bash
root 4524 4517 0 15:40 pts/1 00:00:00 su
root 4525 4524 0 15:40 pts/1 00:00:00 bash
root 4533 4525 0 15:40 pts/1 00:00:00 ps -fe

Danach habe ich ./startup.sh unter /tomcat/bin/ gestartet. Danach gab es folgende Ausgaben:

Using CATALINA_BASE: /usr/share/tomcat
Using CATALINA_HOME: /usr/share/tomcat
Using CATALINA_TMPDIR: /usr/share/tomcat/temp
Using JAVA_HOME: /usr/lib/SunJava2-1.4

Jetzt nochmals ps- fe:

UID PID PPID C STIME TTY TIME CMD
root 1 0 1 15:37 ? 00:00:05 init [5]
root 2 1 0 15:37 ? 00:00:00 [ksoftirqd/0]
root 3 1 0 15:37 ? 00:00:00 [events/0]
root 4 3 0 15:37 ? 00:00:00 [kacpid]
root 5 3 0 15:37 ? 00:00:00 [kblockd/0]
root 6 3 0 15:37 ? 00:00:00 [khelper]
root 7 3 0 15:37 ? 00:00:00 [pdflush]
root 8 3 0 15:37 ? 00:00:00 [pdflush]
root 10 3 0 15:37 ? 00:00:00 [aio/0]
root 9 1 0 15:37 ? 00:00:00 [kswapd0]
root 163 1 0 15:37 ? 00:00:00 [kseriod]
root 324 3 0 15:37 ? 00:00:00 [reiserfs/0]
root 748 3 0 15:37 ? 00:00:00 [kcopyd]
root 1649 1 0 15:37 ? 00:00:00 [khubd]
root 1695 1 0 15:37 ? 00:00:00 [pccardd]
root 1709 1 0 15:37 ? 00:00:00 [pccardd]
root 1761 1 0 15:37 ? 00:00:00 /sbin/cardmgr
root 2159 1 0 15:37 ? 00:00:00 [hwscand]
root 2339 1 0 15:37 ? 00:00:00 [khpsbpkt]
root 2364 1 0 15:37 ? 00:00:00 /sbin/dhcpcd -H -D -N -t 999999 -h linux eth0
root 2459 1 0 15:37 ? 00:00:00 [knodemgrd_0]
root 3102 1 0 15:38 ? 00:00:00 /sbin/syslogd -a /var/lib/dhcp/dev/log -a /var/lib/named/dev/log -a /var/l
root 3105 1 0 15:38 ? 00:00:00 /sbin/klogd -c 1 -2
bin 3155 1 0 15:38 ? 00:00:00 /sbin/portmap
root 3157 1 0 15:38 ? 00:00:00 /sbin/resmgrd
root 3266 1 0 15:38 ? 00:00:00 /usr/sbin/slmodemd --country=GERMANY /dev/slamr0
root 3318 1 0 15:38 ? 00:00:00 /usr/sbin/sshd -o PidFile=/var/run/sshd.init.pid
root 3490 1 0 15:38 ? 00:00:02 /usr/sbin/powersaved -d -e /etc/powersave.conf -a resmgr -v 3
lp 4015 1 0 15:38 ? 00:00:00 /usr/sbin/cupsd
root 4019 1 0 15:38 ? 00:00:00 /usr/sbin/nscd
root 4048 1 0 15:38 ? 00:00:00 /usr/sbin/smpppd
root 4058 1 0 15:38 ? 00:00:00 /opt/kde3/bin/kdm
root 4115 4058 6 15:38 ? 00:00:31 /usr/X11R6/bin/X -nolisten tcp -br vt7 -auth /var/lib/xdm/authdir/authfile
root 4119 1 0 15:38 ? 00:00:00 /usr/lib/postfix/master
postfix 4164 4119 0 15:38 ? 00:00:00 pickup -l -t fifo -u
postfix 4165 4119 0 15:38 ? 00:00:00 qmgr -l -t fifo -u
root 4190 4058 0 15:38 ? 00:00:00 -:0
root 4227 1 0 15:38 ? 00:00:00 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf
root 4257 1 0 15:38 ? 00:00:00 /usr/sbin/cron
root 4310 1 0 15:38 tty1 00:00:00 /sbin/mingetty --noclear tty1
root 4311 1 0 15:38 tty2 00:00:00 /sbin/mingetty tty2
root 4312 1 0 15:38 tty3 00:00:00 /sbin/mingetty tty3
root 4313 1 0 15:38 tty4 00:00:00 /sbin/mingetty tty4
root 4314 1 0 15:38 tty5 00:00:00 /sbin/mingetty tty5
root 4315 1 0 15:38 tty6 00:00:00 /sbin/mingetty tty6
wwwrun 4320 4227 0 15:38 ? 00:00:00 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf
wwwrun 4321 4227 0 15:38 ? 00:00:00 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf
wwwrun 4322 4227 0 15:38 ? 00:00:00 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf
wwwrun 4323 4227 0 15:38 ? 00:00:00 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf
wwwrun 4324 4227 0 15:38 ? 00:00:00 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf
dude 4332 4190 0 15:38 ? 00:00:00 /bin/sh /usr/X11R6/bin/kde
dude 4393 1 0 15:38 ? 00:00:00 kdeinit: Running...
dude 4396 1 0 15:38 ? 00:00:00 kdeinit: dcopserver --nosid
dude 4398 4393 0 15:38 ? 00:00:00 kdeinit: klauncher
dude 4401 1 0 15:38 ? 00:00:00 kdeinit: kded
dude 4410 4393 0 15:39 ? 00:00:00 /opt/kde3/bin/artsd -F 10 -S 4096 -s 5 -m artsmessage -l 3 -f
dude 4412 1 0 15:39 ? 00:00:00 kdeinit: knotify
dude 4413 4332 0 15:39 ? 00:00:00 kwrapper ksmserver
dude 4415 1 0 15:39 ? 00:00:00 kdeinit: ksmserver
dude 4416 4393 0 15:39 ? 00:00:01 kdeinit: kwin -session 117f000002000109475852700000107280000_1098181258_1 2
dude 4418 1 0 15:39 ? 00:00:00 kdeinit: kwrited
dude 4420 1 0 15:39 ? 00:00:00 kdeinit: khotkeys
dude 4422 1 0 15:39 ? 00:00:01 kdeinit: kdesktop
dude 4424 1 0 15:39 ? 00:00:03 kdeinit: kicker
dude 4425 4393 0 15:39 ? 00:00:00 kdeinit: kio_file file /tmp/ksocket-dude/klaunchera1K1Ea.slave-socket /tmp
dude 4429 1 0 15:39 ? 00:00:00 kdeinit: klipper
dude 4431 1 0 15:39 ? 00:00:01 kpowersave
dude 4432 1 0 15:39 ? 00:00:00 kamix
dude 4435 4393 0 15:39 ? 00:00:00 kinternet -caption Kinternet -icon kinternet -miniicon kinternet --quiet
dude 4437 1 0 15:39 ? 00:00:00 susewatcher -caption SuSE Watcher -icon kinternet.png -miniicon kinternet.
dude 4438 1 0 15:39 ? 00:00:01 suseplugger -caption SUSE Plugger -icon hi22-action-hardware.png -miniicon
dude 4443 4393 0 15:39 ? 00:00:00 kdeinit: konqueror --preload
dude 4445 1 0 15:39 ? 00:00:00 kdeinit: kio_uiserver
dude 4469 4393 5 15:39 ? 00:00:22 /opt/MozillaFirefox/lib/firefox-bin
dude 4487 1 0 15:39 ? 00:00:00 /opt/gnome/lib/GConf/2/gconfd-2 9
dude 4516 4393 0 15:40 ? 00:00:02 kdeinit: konsole
dude 4517 4516 0 15:40 pts/1 00:00:00 /bin/bash
root 4524 4517 0 15:40 pts/1 00:00:00 su
root 4525 4524 0 15:40 pts/1 00:00:00 bash
dude 4563 4422 0 15:42 ? 00:00:00 kdesu konqueror
dude 4565 1 0 15:42 ? 00:00:00 /opt/kde3/bin/kdesud
root 4588 4563 0 15:42 pts/4 00:00:00 /bin/su root -l -c /opt/kde3/bin/kdesu_stub
root 4589 4588 0 15:42 pts/4 00:00:00 /opt/kde3/bin/kdesu_stub
root 4608 4589 1 15:42 ? 00:00:03 konqueror
root 4610 1 0 15:42 ? 00:00:00 kdeinit: Running...
root 4613 1 0 15:42 ? 00:00:00 kdeinit: dcopserver --nosid --suicide
root 4615 4610 0 15:42 ? 00:00:00 kdeinit: klauncher
root 4617 1 0 15:42 ? 00:00:00 kdeinit: kded
root 4624 4610 0 15:42 ? 00:00:00 kdeinit: kio_file file /tmp/ksocket-root/klauncher37Ax6b.slave-socket /tmp
root 4625 4610 0 15:42 ? 00:00:00 kdeinit: kio_file file /tmp/ksocket-root/klauncher37Ax6b.slave-socket /tmp
root 4626 4610 0 15:42 ? 00:00:01 kdeinit: kio_thumbnail thumbnail /tmp/ksocket-root/klauncher37Ax6b.slave-s
dude 4627 4393 44 15:43 ? 00:01:24 kfind
dude 4628 4393 1 15:43 ? 00:00:02 kdeinit: kio_file file /tmp/ksocket-dude/klaunchera1K1Ea.slave-socket /tmp
dude 4629 4393 1 15:43 ? 00:00:02 kdeinit: kio_file file /tmp/ksocket-dude/klaunchera1K1Ea.slave-socket /tmp
dude 4630 4393 1 15:43 ? 00:00:01 kdeinit: kio_file file /tmp/ksocket-dude/klaunchera1K1Ea.slave-socket /tmp
dude 4631 4393 1 15:43 ? 00:00:02 kdeinit: kio_file file /tmp/ksocket-dude/klaunchera1K1Ea.slave-socket /tmp
dude 4632 4393 1 15:43 ? 00:00:01 kdeinit: kio_file file /tmp/ksocket-dude/klaunchera1K1Ea.slave-socket /tmp
root 4668 1 4 15:44 pts/1 00:00:04 /usr/lib/SunJava2-1.4/bin/java -Djava.endorsed.dirs=/usr/share/tomcat/comm
root 4733 4525 0 15:46 pts/1 00:00:00 ps -fe

Java läuft also jetzt.
Im web.xml-File steht folgendes:


BalancerFilterorg.apache.webapp.balancer.BalancerF ilterconfigUrl/WEB-INF/config/rules.xmlBalancerFilter/*

In der Datei server.xml () steht folendes:


<!-- Example Server Configuration File -->
<!-- Note that component elements are nested corresponding to their
parent-child relationships with each other -->

<!-- A "Server" is a singleton element that represents the entire JVM,
which may contain one or more "Service" instances. The Server
listens for a shutdown command on the indicated .

Note: A "Server" is not itself a "Container", so you may not
define subcomponents such as "Valves" or "Loggers" at this level.
-->

<Server port="8005" shutdown="SHUTDOWN" debug="0">


<!-- Comment these entries out to disable JMX MBeans support -->
<!-- You may also configure custom components (e.g. Valves/Realms) by
including your own mbean-descriptor file(s), and setting the
"descriptors" attribute to point to a ';' seperated list of paths
(in the ClassLoader sense) of files to add to the default list.
e.g. descriptors="/com/myfirm/mypackage/mbean-descriptor.xml"
-->
<Listener className="org.apache.catalina.mbeans.ServerLifecycleListener"
debug="0"/>
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycl eListener"
debug="0"/>

<!-- Global JNDI resources -->
<GlobalNamingResources>

<!-- Test entry for demonstration purposes -->
<Environment name="simpleValue" type="java.lang.Integer" value="30"/>

<!-- Editable user database that can also be used by
UserDatabaseRealm to authenticate users -->
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved">
</Resource>
<ResourceParams name="UserDatabase">
<parameter>
<name>factory</name>
<value>org.apache.catalina.users.MemoryUserDatabaseFactor y</value>
</parameter>
<parameter>
<name>pathname</name>
<value>conf/tomcat-users.xml</value>
</parameter>
</ResourceParams>

</GlobalNamingResources>

<!-- A "Service" is a collection of one or more "Connectors" that share
a single "Container" (and therefore the web applications visible
within that Container). Normally, that Container is an "Engine",
but this is not required.

Note: A "Service" is not itself a "Container", so you may not
define subcomponents such as "Valves" or "Loggers" at this level.
-->

<!-- Define the Tomcat Stand-Alone Service -->
<Service name="Catalina">

<!-- A "Connector" represents an endpoint by which requests are received
and responses are returned. Each Connector passes requests on to the
associated "Container" (normally an Engine) for processing.

By default, a non-SSL HTTP/1.1 Connector is established on port 8080.
You can also enable an SSL HTTP/1.1 Connector on port 8443 by
following the instructions below and uncommenting the second Connector
entry. SSL support requires the following steps (see the SSL Config
HOWTO in the Tomcat 5 documentation bundle for more detailed
instructions):
* If your JDK version 1.3 or prior, download and install JSSE 1.0.2 or
later, and put the JAR files into "$JAVA_HOME/jre/lib/ext".
* Execute:
%JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA (Windows)
$JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA (Unix)
with a password value of "changeit" for both the certificate and
the keystore itself.

By default, DNS lookups are enabled when a web application calls
request.getRemoteHost(). This can have an adverse impact on
performance, so you can disable it by setting the
"enableLookups" attribute to "false". When DNS lookups are disabled,
request.getRemoteHost() will return the String version of the
IP address of the remote client.
-->

<!-- Define a non-SSL Coyote HTTP/1.1 Connector on port 8080 -->
<Connector port="8080"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
debug="0" connectionTimeout="20000"
disableUploadTimeout="true" />
<!-- Note : To disable connection timeouts, set connectionTimeout value
to 0 -->

<!-- Note : To use gzip compression you could set the following properties :

compression="on"
compressionMinSize="2048"
noCompressionUserAgents="gozilla, traviata"
compressableMimeType="text/html,text/xml"
-->

<!-- Define a SSL Coyote HTTP/1.1 Connector on port 8443 -->
<!--
<Connector port="8443"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" disableUploadTimeout="true"
acceptCount="100" debug="0" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" />
-->

<!-- Define a Coyote/JK2 AJP 1.3 Connector on port 8009 -->
<Connector port="8009"
enableLookups="false" redirectPort="8443" debug="0"
protocol="AJP/1.3" />

<!-- Define a Proxied HTTP/1.1 Connector on port 8082 -->
<!-- See proxy documentation for more information about using this. -->
<!--
<Connector port="8082"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false"
acceptCount="100" debug="0" connectionTimeout="20000"
proxyPort="80" disableUploadTimeout="true" />
-->

<!-- An Engine represents the entry point (within Catalina) that processes
every request. The Engine implementation for Tomcat stand alone
analyzes the HTTP headers included with the request, and passes them
on to the appropriate Host (virtual host). -->

<!-- You should set jvmRoute to support load-balancing via JK/JK2 ie :
<Engine name="Standalone" defaultHost="localhost" debug="0" jvmRoute="jvm1">
-->

<!-- Define the top level container in our container hierarchy -->
<Engine name="Catalina" defaultHost="localhost" debug="0">

<!-- The request dumper valve dumps useful debugging information about
the request headers and cookies that were received, and the response
headers and cookies that were sent, for all requests received by
this instance of Tomcat. If you care only about requests to a
particular virtual host, or a particular application, nest this
element inside the corresponding <Host> or <Context> entry instead.

For a similar mechanism that is portable to all Servlet 2.4
containers, check out the "RequestDumperFilter" Filter in the
example application (the source for this filter may be found in
"$CATALINA_HOME/webapps/examples/WEB-INF/classes/filters").

Request dumping is disabled by default. Uncomment the following
element to enable it. -->
<!--
<Valve className="org.apache.catalina.valves.RequestDumperValve"/>
-->

<!-- Global logger unless overridden at lower levels -->
<Logger className="org.apache.catalina.logger.FileLogger"
prefix="catalina_log." suffix=".txt"
timestamp="true"/>

<!-- Because this Realm is here, an instance will be shared globally -->

<!-- This Realm uses the UserDatabase configured in the global JNDI
resources under the key "UserDatabase". Any edits
that are performed against this UserDatabase are immediately
available for use by the Realm. -->
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
debug="0" resourceName="UserDatabase"/>

<!-- Comment out the old realm but leave here for now in case we
need to go back quickly -->
<!--
<Realm className="org.apache.catalina.realm.MemoryRealm" />
-->

<!-- Replace the above Realm with one of the following to get a Realm
stored in a database and accessed via JDBC -->

<!--
<Realm className="org.apache.catalina.realm.JDBCRealm" debug="99"
driverName="org.gjt.mm.mysql.Driver"
connectionURL="jdbc:mysql://localhost/authority"
connectionName="test" connectionPassword="test"
userTable="users" userNameCol="user_name" userCredCol="user_pass"
userRoleTable="user_roles" roleNameCol="role_name" />
-->

<!--
<Realm className="org.apache.catalina.realm.JDBCRealm" debug="99"
driverName="oracle.jdbc.driver.OracleDriver"
connectionURL="jdbc:oracle:thin:@ntserver:1521:ORCL"
connectionName="scott" connectionPassword="tiger"
userTable="users" userNameCol="user_name" userCredCol="user_pass"
userRoleTable="user_roles" roleNameCol="role_name" />
-->

<!--
<Realm className="org.apache.catalina.realm.JDBCRealm" debug="99"
driverName="sun.jdbc.odbc.JdbcOdbcDriver"
connectionURL="jdbc:odbc:CATALINA"
userTable="users" userNameCol="user_name" userCredCol="user_pass"
userRoleTable="user_roles" roleNameCol="role_name" />
-->

<!-- Define the default virtual host
Note: XML Schema validation will not work with Xerces 2.2.
-->
<Host name="localhost" debug="0" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">

<!-- Defines a cluster for this node,
By defining this element, means that every manager will be changed.
So when running a cluster, only make sure that you have webapps in there
that need to be clustered and remove the other ones.
A cluster has the following parameters:

className = the fully qualified name of the cluster class

name = a descriptive name for your cluster, can be anything

debug = the debug level, higher means more output

mcastAddr = the multicast address, has to be the same for all the nodes

mcastPort = the multicast port, has to be the same for all the nodes

mcastFrequency = the number of milliseconds in between sending a "I'm alive" heartbeat

mcastDropTime = the number a milliseconds before a node is considered "dead" if no heartbeat is received

tcpThreadCount = the number of threads to handle incoming replication requests, optimal would be the same amount of threads as nodes

tcpListenAddress = the listen address (bind address) for TCP cluster request on this host,
in case of multiple ethernet cards.
auto means that address becomes
InetAddress.getLocalHost().getHostAddress()

tcpListenPort = the tcp listen port

tcpSelectorTimeout = the timeout (ms) for the Selector.select() method in case the OS
has a wakup bug in java.nio. Set to 0 for no timeout

printToScreen = true means that managers will also print to std.out

expireSessionsOnShutdown = true means that

useDirtyFlag = true means that we only replicate a session after setAttribute,removeAttribute has been called.
false means to replicate the session after each request.
false means that replication would work for the following piece of code:
<%
HashMap map = (HashMap)session.getAttribute("map");
map.put("key","value");
%>
replicationMode = can be either 'pooled', 'synchronous' or 'asynchronous'.
* Pooled means that the replication happens using several sockets in a synchronous way. Ie, the data gets replicated, then the request return. This is the same as the 'synchronous' setting except it uses a pool of sockets, hence it is multithreaded. This is the fastest and safest configuration. To use this, also increase the nr of tcp threads that you have dealing with replication.
* Synchronous means that the thread that executes the request, is also the
thread the replicates the data to the other nodes, and will not return until all
nodes have received the information.
* Asynchronous means that there is a specific 'sender' thread for each cluster node,
so the request thread will queue the replication request into a "smart" queue,
and then return to the client.
The "smart" queue is a queue where when a session is added to the queue, and the same session
already exists in the queue from a previous request, that session will be replaced
in the queue instead of replicating two requests. This almost never happens, unless there is a
large network delay.
-->
<!--
When configuring for clustering, you also add in a valve to catch all the requests
coming in, at the end of the request, the session may or may not be replicated.
A session is replicated if and only if all the conditions are met:
1. useDirtyFlag is true or setAttribute or removeAttribute has been called AND
2. a session exists (has been created)
3. the request is not trapped by the "filter" attribute

The filter attribute is to filter out requests that could not modify the session,
hence we don't replicate the session after the end of this request.
The filter is negative, ie, anything you put in the filter, you mean to filter out,
ie, no replication will be done on requests that match one of the filters.
The filter attribute is delimited by ;, so you can't escape out ; even if you wanted to.

filter=".*\.gif;.*\.js;" means that we will not replicate the session after requests with the URI
ending with .gif and .js are intercepted.
-->

<!--
<Cluster className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"
managerClassName="org.apache.catalina.cluster.session.DeltaManager"
expireSessionsOnShutdown="false"
useDirtyFlag="true">

<Membership
className="org.apache.catalina.cluster.mcast.McastService"
mcastAddr="228.0.0.4"
mcastPort="45564"
mcastFrequency="500"
mcastDropTime="3000"/>

<Receiver
className="org.apache.catalina.cluster.tcp.ReplicationListene r"
tcpListenAddress="auto"
tcpListenPort="4001"
tcpSelectorTimeout="100"
tcpThreadCount="6"/>

<Sender
className="org.apache.catalina.cluster.tcp.ReplicationTransmi tter"
replicationMode="pooled"/>

<Valve className="org.apache.catalina.cluster.tcp.ReplicationValve"
filter=".*\.gif;.*\.js;.*\.jpg;.*\.htm;.*\.html;.*\.txt;"/>
</Cluster>
-->


<!-- Define an Apache-Connector Service -->
<!--
<Service name="Tomcat-Apache">

<Connector className="org.apache.catalina.connector.warp.WarpConnector"
port="8008" minProcessors="5" maxProcessors="75"
enableLookups="true" appBase="webapps"
acceptCount="10" debug="0"/>

<Engine className="org.apache.catalina.connector.warp.WarpEngine"
name="Apache" debug="0">

<Logger className="org.apache.catalina.logger.FileLogger"
prefix="apache_log." suffix=".txt"
timestamp="true"/>

<Realm className="org.apache.catalina.realm.MemoryRealm" />

</Engine>

</Service>
-->

<!-- Normally, users must authenticate themselves to each web app
individually. Uncomment the following entry if you would like
a user to be authenticated the first time they encounter a
resource protected by a security constraint, and then have that
user identity maintained across *all* web applications contained
in this virtual host. -->
<!--
<Valve className="org.apache.catalina.authenticator.SingleSignOn"
debug="0"/>
-->

<!-- Access log processes all requests for this virtual host. By
default, log files are created in the "logs" directory relative to
$CATALINA_HOME. If you wish, you can specify a different
directory with the "directory" attribute. Specify either a relative
(to $CATALINA_HOME) or absolute path to the desired directory.
-->
<!--
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs" prefix="localhost_access_log." suffix=".txt"
pattern="common" resolveHosts="false"/>
-->

<!-- Logger shared by all Contexts related to this virtual host. By
default (when using FileLogger), log files are created in the "logs"
directory relative to $CATALINA_HOME. If you wish, you can specify
a different directory with the "directory" attribute. Specify either a
relative (to $CATALINA_HOME) or absolute path to the desired
directory.-->
<Logger className="org.apache.catalina.logger.FileLogger"
directory="logs" prefix="localhost_log." suffix=".txt"
timestamp="true"/>

</Host>

</Engine>

</Service>

</Server>
;-)

Danke für deine Hilfe!

marce
20.10.04, 08:24
*uff* - Tomcat-Configfiles sind einfach ranzig zu lesen, so lange man sie nicht radikal zusammenstreicht...

Normalerweise laufen die mit der Std-Conf problemlos - daher also "komisch".

In Deinem Indianer ist nichts auf Port 8080 konfiguriert? Mich stört ein bisserl, dass da lt. log was laufen soll...

Ich vermute mal, Du hast Tomcat 5 am laufen (oder es zumindest vor... ;-) - da kann ich leider nicht 100% was sagen, bei uns rennt immer noch der 4.1.29er.

Aber probieren wir mal ein bisserl rum - aber wie gesagt, keine Garantien.

Merkwürdig finde ich, dass nur 1 Java-Prozess läuft, aber vielleicht haben die das geändert - es sollten eigentlich ca. 20 sein.

Hast Du schon mal probiert, die Manager-Application vom Tomcat aufzurufen? Evtl. muss man noch in der tomcat-users.xml eine Ergänzung machen (siehe http://jakarta.apache.org/tomcat/tomcat-5.0-doc/manager-howto.html).

Wo hast Du denn die Seite hindeployed? direkt in's webapps-Verzeichnis oder in ein darin liegenden ROOT-Verzeichnis? Wenn nicht in [...]/webapps/ROOT/, dann musst Du wahrscheintlich noch ein <Context path="" docBase="xxxx" debug="0"/> in der server.xml im <host>-Part ergänzen.

Anbei mal eine funktionierende server.xml - allerdings für TC 4 - vielleicht kannst Du damit ja mal einen Test fahren... (bitte beachte den context-path, das solltest Du anpassen...)


<Server port="6800" shutdown="SHUTDOWN" debug="0">
<Listener className="org.apache.catalina.mbeans.ServerLifecycleListener"
debug="0"/>
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycl eListener"
debug="0"/>
<GlobalNamingResources>
<Resource name="UserDatabase"
auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database" />
<ResourceParams name="UserDatabase">
<parameter>
<name>factory</name>
<value>org.apache.catalina.users.MemoryUserDatabaseFactor y</value>
</parameter>
<parameter>
<name>pathname</name>
<value>conf/tomcat-users.xml</value>
</parameter>
</ResourceParams>
</GlobalNamingResources>

<Service name="Tomcat-Standalone">
<Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
port="8080"
minProcessors="5"
maxProcessors="100"
enableLookups="true"
acceptCount="100"
debug="0"
connectionTimeout="20000"
useURIValidationHack="false"
disableUploadTimeout="true" />

<Engine name="Standalone" defaultHost="localhost" debug="0">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
debug="0"
resourceName="UserDatabase" />
<Host name="localhost"
debug="0"
appBase="webapps"
unpackWARs="true"
autoDeploy="true">
<Context path="" docBase="xxxxxxxx" debug="0"/>
</Host>
</Engine>
</Service>
</Server>

marce
20.10.04, 08:26
gerade noch mal beim nachlesen gefunden:

Du hast wohl wirklich direkt im webapps deine Files - die sollten, wenn kein Context Path gesetzt ist im webapps/ROOT/-Verzeichnis liegen.

Info wie gesagt für TC 4, denke aber mal, beim TC 5 ist's nicht anders...

fippu
20.10.04, 09:52
Hier mal mein server.xml-File. Das von dir erwähnte context-path gibt es bei mir nicht. Soll ich es noch eintragen?

<!-- Example Server Configuration File -->
<!-- Note that component elements are nested corresponding to their
parent-child relationships with each other -->

<!-- A "Server" is a singleton element that represents the entire JVM,
which may contain one or more "Service" instances. The Server
listens for a shutdown command on the indicated port.

Note: A "Server" is not itself a "Container", so you may not
define subcomponents such as "Valves" or "Loggers" at this level.
-->

<Server port="8005" shutdown="SHUTDOWN" debug="0">


<!-- Comment these entries out to disable JMX MBeans support -->
<!-- You may also configure custom components (e.g. Valves/Realms) by
including your own mbean-descriptor file(s), and setting the
"descriptors" attribute to point to a ';' seperated list of paths
(in the ClassLoader sense) of files to add to the default list.
e.g. descriptors="/com/myfirm/mypackage/mbean-descriptor.xml"
-->
<Listener className="org.apache.catalina.mbeans.ServerLifecycleListener"
debug="0"/>
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycl eListener"
debug="0"/>

<!-- Global JNDI resources -->
<GlobalNamingResources>

<!-- Test entry for demonstration purposes -->
<Environment name="simpleValue" type="java.lang.Integer" value="30"/>

<!-- Editable user database that can also be used by
UserDatabaseRealm to authenticate users -->
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved">
</Resource>
<ResourceParams name="UserDatabase">
<parameter>
<name>factory</name>
<value>org.apache.catalina.users.MemoryUserDatabaseFactor y</value>
</parameter>
<parameter>
<name>pathname</name>
<value>conf/tomcat-users.xml</value>
</parameter>
</ResourceParams>

</GlobalNamingResources>

<!-- A "Service" is a collection of one or more "Connectors" that share
a single "Container" (and therefore the web applications visible
within that Container). Normally, that Container is an "Engine",
but this is not required.

Note: A "Service" is not itself a "Container", so you may not
define subcomponents such as "Valves" or "Loggers" at this level.
-->

<!-- Define the Tomcat Stand-Alone Service -->
<Service name="Catalina">

<!-- A "Connector" represents an endpoint by which requests are received
and responses are returned. Each Connector passes requests on to the
associated "Container" (normally an Engine) for processing.

By default, a non-SSL HTTP/1.1 Connector is established on port 8080.
You can also enable an SSL HTTP/1.1 Connector on port 8443 by
following the instructions below and uncommenting the second Connector
entry. SSL support requires the following steps (see the SSL Config
HOWTO in the Tomcat 5 documentation bundle for more detailed
instructions):
* If your JDK version 1.3 or prior, download and install JSSE 1.0.2 or
later, and put the JAR files into "$JAVA_HOME/jre/lib/ext".
* Execute:
%JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA (Windows)
$JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA (Unix)
with a password value of "changeit" for both the certificate and
the keystore itself.

By default, DNS lookups are enabled when a web application calls
request.getRemoteHost(). This can have an adverse impact on
performance, so you can disable it by setting the
"enableLookups" attribute to "false". When DNS lookups are disabled,
request.getRemoteHost() will return the String version of the
IP address of the remote client.
-->

<!-- Define a non-SSL Coyote HTTP/1.1 Connector on port 8080 -->
<Connector port="8080"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
debug="0" connectionTimeout="20000"
disableUploadTimeout="true" />
<!-- Note : To disable connection timeouts, set connectionTimeout value
to 0 -->

<!-- Note : To use gzip compression you could set the following properties :

compression="on"
compressionMinSize="2048"
noCompressionUserAgents="gozilla, traviata"
compressableMimeType="text/html,text/xml"
-->

<!-- Define a SSL Coyote HTTP/1.1 Connector on port 8443 -->
<!--
<Connector port="8443"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" disableUploadTimeout="true"
acceptCount="100" debug="0" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" />
-->

<!-- Define a Coyote/JK2 AJP 1.3 Connector on port 8009 -->
<Connector port="8009"
enableLookups="false" redirectPort="8443" debug="0"
protocol="AJP/1.3" />

<!-- Define a Proxied HTTP/1.1 Connector on port 8082 -->
<!-- See proxy documentation for more information about using this. -->
<!--
<Connector port="8082"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false"
acceptCount="100" debug="0" connectionTimeout="20000"
proxyPort="80" disableUploadTimeout="true" />
-->

<!-- An Engine represents the entry point (within Catalina) that processes
every request. The Engine implementation for Tomcat stand alone
analyzes the HTTP headers included with the request, and passes them
on to the appropriate Host (virtual host). -->

<!-- You should set jvmRoute to support load-balancing via JK/JK2 ie :
<Engine name="Standalone" defaultHost="localhost" debug="0" jvmRoute="jvm1">
-->

<!-- Define the top level container in our container hierarchy -->
<Engine name="Catalina" defaultHost="localhost" debug="0">

<!-- The request dumper valve dumps useful debugging information about
the request headers and cookies that were received, and the response
headers and cookies that were sent, for all requests received by
this instance of Tomcat. If you care only about requests to a
particular virtual host, or a particular application, nest this
element inside the corresponding <Host> or <Context> entry instead.

For a similar mechanism that is portable to all Servlet 2.4
containers, check out the "RequestDumperFilter" Filter in the
example application (the source for this filter may be found in
"$CATALINA_HOME/webapps/examples/WEB-INF/classes/filters").

Request dumping is disabled by default. Uncomment the following
element to enable it. -->
<!--
<Valve className="org.apache.catalina.valves.RequestDumperValve"/>
-->

<!-- Global logger unless overridden at lower levels -->
<Logger className="org.apache.catalina.logger.FileLogger"
prefix="catalina_log." suffix=".txt"
timestamp="true"/>

<!-- Because this Realm is here, an instance will be shared globally -->

<!-- This Realm uses the UserDatabase configured in the global JNDI
resources under the key "UserDatabase". Any edits
that are performed against this UserDatabase are immediately
available for use by the Realm. -->
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
debug="0" resourceName="UserDatabase"/>

<!-- Comment out the old realm but leave here for now in case we
need to go back quickly -->
<!--
<Realm className="org.apache.catalina.realm.MemoryRealm" />
-->

<!-- Replace the above Realm with one of the following to get a Realm
stored in a database and accessed via JDBC -->

<!--
<Realm className="org.apache.catalina.realm.JDBCRealm" debug="99"
driverName="org.gjt.mm.mysql.Driver"
connectionURL="jdbc:mysql://localhost/authority"
connectionName="test" connectionPassword="test"
userTable="users" userNameCol="user_name" userCredCol="user_pass"
userRoleTable="user_roles" roleNameCol="role_name" />
-->

<!--
<Realm className="org.apache.catalina.realm.JDBCRealm" debug="99"
driverName="oracle.jdbc.driver.OracleDriver"
connectionURL="jdbc:oracle:thin:@ntserver:1521:ORCL"
connectionName="scott" connectionPassword="tiger"
userTable="users" userNameCol="user_name" userCredCol="user_pass"
userRoleTable="user_roles" roleNameCol="role_name" />
-->

<!--
<Realm className="org.apache.catalina.realm.JDBCRealm" debug="99"
driverName="sun.jdbc.odbc.JdbcOdbcDriver"
connectionURL="jdbc:odbc:CATALINA"
userTable="users" userNameCol="user_name" userCredCol="user_pass"
userRoleTable="user_roles" roleNameCol="role_name" />
-->

<!-- Define the default virtual host
Note: XML Schema validation will not work with Xerces 2.2.
-->
<Host name="localhost" debug="0" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">

<!-- Defines a cluster for this node,
By defining this element, means that every manager will be changed.
So when running a cluster, only make sure that you have webapps in there
that need to be clustered and remove the other ones.
A cluster has the following parameters:

className = the fully qualified name of the cluster class

name = a descriptive name for your cluster, can be anything

debug = the debug level, higher means more output

mcastAddr = the multicast address, has to be the same for all the nodes

mcastPort = the multicast port, has to be the same for all the nodes

mcastFrequency = the number of milliseconds in between sending a "I'm alive" heartbeat

mcastDropTime = the number a milliseconds before a node is considered "dead" if no heartbeat is received

tcpThreadCount = the number of threads to handle incoming replication requests, optimal would be the same amount of threads as nodes

tcpListenAddress = the listen address (bind address) for TCP cluster request on this host,
in case of multiple ethernet cards.
auto means that address becomes
InetAddress.getLocalHost().getHostAddress()

tcpListenPort = the tcp listen port

tcpSelectorTimeout = the timeout (ms) for the Selector.select() method in case the OS
has a wakup bug in java.nio. Set to 0 for no timeout

printToScreen = true means that managers will also print to std.out

expireSessionsOnShutdown = true means that

useDirtyFlag = true means that we only replicate a session after setAttribute,removeAttribute has been called.
false means to replicate the session after each request.
false means that replication would work for the following piece of code:
<%
HashMap map = (HashMap)session.getAttribute("map");
map.put("key","value");
%>
replicationMode = can be either 'pooled', 'synchronous' or 'asynchronous'.
* Pooled means that the replication happens using several sockets in a synchronous way. Ie, the data gets replicated, then the request return. This is the same as the 'synchronous' setting except it uses a pool of sockets, hence it is multithreaded. This is the fastest and safest configuration. To use this, also increase the nr of tcp threads that you have dealing with replication.
* Synchronous means that the thread that executes the request, is also the
thread the replicates the data to the other nodes, and will not return until all
nodes have received the information.
* Asynchronous means that there is a specific 'sender' thread for each cluster node,
so the request thread will queue the replication request into a "smart" queue,
and then return to the client.
The "smart" queue is a queue where when a session is added to the queue, and the same session
already exists in the queue from a previous request, that session will be replaced
in the queue instead of replicating two requests. This almost never happens, unless there is a
large network delay.
-->
<!--
When configuring for clustering, you also add in a valve to catch all the requests
coming in, at the end of the request, the session may or may not be replicated.
A session is replicated if and only if all the conditions are met:
1. useDirtyFlag is true or setAttribute or removeAttribute has been called AND
2. a session exists (has been created)
3. the request is not trapped by the "filter" attribute

The filter attribute is to filter out requests that could not modify the session,
hence we don't replicate the session after the end of this request.
The filter is negative, ie, anything you put in the filter, you mean to filter out,
ie, no replication will be done on requests that match one of the filters.
The filter attribute is delimited by ;, so you can't escape out ; even if you wanted to.

filter=".*\.gif;.*\.js;" means that we will not replicate the session after requests with the URI
ending with .gif and .js are intercepted.
-->

<!--
<Cluster className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"
managerClassName="org.apache.catalina.cluster.session.DeltaManager"
expireSessionsOnShutdown="false"
useDirtyFlag="true">

<Membership
className="org.apache.catalina.cluster.mcast.McastService"
mcastAddr="228.0.0.4"
mcastPort="45564"
mcastFrequency="500"
mcastDropTime="3000"/>

<Receiver
className="org.apache.catalina.cluster.tcp.ReplicationListene r"
tcpListenAddress="auto"
tcpListenPort="4001"
tcpSelectorTimeout="100"
tcpThreadCount="6"/>

<Sender
className="org.apache.catalina.cluster.tcp.ReplicationTransmi tter"
replicationMode="pooled"/>

<Valve className="org.apache.catalina.cluster.tcp.ReplicationValve"
filter=".*\.gif;.*\.js;.*\.jpg;.*\.htm;.*\.html;.*\.txt;"/>
</Cluster>
-->


<!-- Define an Apache-Connector Service -->
<!--
<Service name="Tomcat-Apache">

<Connector className="org.apache.catalina.connector.warp.WarpConnector"
port="8008" minProcessors="5" maxProcessors="75"
enableLookups="true" appBase="webapps"
acceptCount="10" debug="0"/>

<Engine className="org.apache.catalina.connector.warp.WarpEngine"
name="Apache" debug="0">

<Logger className="org.apache.catalina.logger.FileLogger"
prefix="apache_log." suffix=".txt"
timestamp="true"/>

<Realm className="org.apache.catalina.realm.MemoryRealm" />

</Engine>

</Service>
-->

<!-- Normally, users must authenticate themselves to each web app
individually. Uncomment the following entry if you would like
a user to be authenticated the first time they encounter a
resource protected by a security constraint, and then have that
user identity maintained across *all* web applications contained
in this virtual host. -->
<!--
<Valve className="org.apache.catalina.authenticator.SingleSignOn"
debug="0"/>
-->

<!-- Access log processes all requests for this virtual host. By
default, log files are created in the "logs" directory relative to
$CATALINA_HOME. If you wish, you can specify a different
directory with the "directory" attribute. Specify either a relative
(to $CATALINA_HOME) or absolute path to the desired directory.
-->
<!--
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs" prefix="localhost_access_log." suffix=".txt"
pattern="common" resolveHosts="false"/>
-->

<!-- Logger shared by all Contexts related to this virtual host. By
default (when using FileLogger), log files are created in the "logs"
directory relative to $CATALINA_HOME. If you wish, you can specify
a different directory with the "directory" attribute. Specify either a
relative (to $CATALINA_HOME) or absolute path to the desired
directory.-->
<Logger className="org.apache.catalina.logger.FileLogger"
directory="logs" prefix="localhost_log." suffix=".txt"
timestamp="true"/>

</Host>

</Engine>

</Service>

</Server>

fippu
21.10.04, 13:21
Also ich habe Neuigkeiten. Tomcat habe ich zum laufen gebracht. Der Dienst läuft:
linux:/usr/share/tomcat/bin # rctomcat status
Checking for Tomcat (/usr/share/tomcat) running

Wenn ich, ohne dass Tomcat läuft, eine Jsp-Datei öffne, kommt "...Seite kann nicht angezeigt werden...".
Wenn ich jetzt, wo Tomcat läuft, eine jsp-Datei öffne, kommt einfach die bereits erwähnte LEERE Seite.
Das heisst also, dass Tomcat läuft, dass aber irgendwo bei der Adresse (Sei es Port, sei es die Fähigkeit, jsp anzuzeigen oder sonst irgendwo...) ein Fehler/Problem existiert.

Hmm. Wir sind der Lösung soooo nahe...

Gruss Fippu

marce
21.10.04, 14:04
kann er denn jetzt reine html-Seiten anzeigen?

[ok, können tut er's auf jeden Fall - aber macht er's auch bei Dir?] ;-)

fippu
22.10.04, 11:48
Also mein Vorgehen ist jetzt jeweils folgendes.
- Setzen der Variablen für Java dann Test (java -version) ==> OK
- /usr/share/tomcat/bin/startup.sh ==>
Using CATALINA_BASE: /usr/share/tomcat
Using CATALINA_HOME: /usr/share/tomcat
Using CATALINA_TMPDIR: /usr/share/tomcat/temp
Using JAVA_HOME: /usr/lib/SunJava2-1.4 ==> OK
- rctomcat status ==> RUNNING (Tomcat läuft also! Oder?)

Jetzt läuft ja eigentlich alles. Also gehe ich auf ...:8080/start.jsp ==> Seite wird nicht angezeigt.

Die Frage ist jetzt einfach, wo speichere ich meine .jsp oder .html seiten hin? Ich habe es mit folgenden Verzeichnissen versucht:
- /srv/www/tomcat/demoserver/webapps/ROOT ==> läuft nicht
- /srv/www/tomcat/base/webapps ==> läuft nicht

Meine web.xml-Datei sieht folgendermassen aus:

<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>
<display-name>Welcome to Tomcat</display-name>
<description>
Welcome to Tomcat
</description>


<!-- JSPC servlet mappings start -->

<servlet>
<servlet-name>org.apache.jsp.index_jsp</servlet-name>
<servlet-class>org.apache.jsp.index_jsp</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>org.apache.jsp.index_jsp</servlet-name>
<url-pattern>/index.jsp</url-pattern>
</servlet-mapping>

<!-- JSPC servlet mappings end -->

</web-app>

Und meine server.xml ist ja bereits gepostet.

Heieiei, ich bin mit meinem Latein wirklich bald am Ende. Ich verstehe das Problem einfach nicht. Liegt es tatsächlich am Verzeichnis? Unter MSWindows hatte ich da nie Probleme. Komisch ist ja, dass nicht mal HTML-Files angezeigt werden können.
Muss ich irgendwo noch sagen, was er alles anzeigen kann/soll?
Wie kann ich eigentlich die Systemvariablen für Java:
- export JAVA_HOME=/usr/local/j2re1.4.2_06export
- PATH=$PATH:/usr/local/j2re1.4.2_06/bin
so setzten, dass ich sie nicht jedes mal frisch eingeben muss?

Danke und Gruss

marce
22.10.04, 12:43
installier doch man den Tomcat, ohne dass Du von Dir eine Applikation enspielst. Es gibt da nämlich eine entsprechende Startseite, die dann zeigt, dass der Tomcat ordnungsgemäss ibstalliert wurde, wenn man ihn aufruft...

... nimm im Extremfall einfach mal das direkte tar.gz von der Tomcat-Webseite - normalerweise entpacken, starten und glücklich sein...

foolish
22.10.04, 13:02
hi,

da scheint es ein problem mit Ipv6 zu geben:
heisst der port 8080 horcht auf Ipv6

probier mal statt localhost http://127.0.0.1:8080 ...

oder mal hier reinschauen http://lists.suse.com/archive/suse-linux/2004-May/3773.html

sherlocks_home
14.11.04, 00:44
Habe nicht genau geguckt. Läuft Deine Huddel unter Suse-Linux?

Mal unter
/usr/share/doc/packages/jakarta-tomcat/README.SuSE

gucken (ggf. vorher mit Yast die Tomcat-Dokumentation installieren).

Da steht's drin: die CATALINA_BASE in der /etc/sysconfig/J2EE ist default-mäßig nicht gesetzt. Der Demo-Server (sofern mit Yast der Example Server installiert wurde) liegt unter /srv/www/tomcat/demoserver

Also in /etc/sysconfig/J2EE CATALINA_BASE="/srv/www/tomcat/demoserver" setzen, dann funktioniert 127.0.0.1:8080 im Browser.

Good luck