Hallo,
<BR><BR>
ich versuche nun schon eine Weile erfolglos, Apache und Tomcat miteinander zu verbinden. Ich habe mich an diesem Artikel orientiert: http://tomcat.objektpark.org/howto/tomcatjni.html , aber tomcat startet bei mir nicht.
<BR><BR>
Ich verwende tomcat 5.0.20, apache 2.0.48 unter Windows XP. Wenn ich apache starte, wird ein fehler geloggt (s.u.); stderr.log und stdout.log im Apache-conf-Verzeichnis sind leer - tomcat scheint also nicht zu starten.<br><br>
In den workers2.properties war ich nicht sicher, was ich für OPT=-Dcatalina.base setzen sollte. Das zeigt jetzt auf mein tomcat_home. Ansonsten kann ich nichts entdecken, was ich falsch mache.<br><br>
Wäre nett, wenn mir jemand helfen könnte.<br><br>
Danke!<br>
Martin
<pre>
-------------------------------------------
jk2.properties:
-------------------------------------------
# Just to check if the the config is working
shm.file=C:/Programme/Apache Group/Apache2/logs/jk2.shm
# In order to enable jni use any channelJni directive
channelJni.disabled = 0
# For Connecting to Tomcat outprocess
# apr.jniModeSo=/opt/apache2/modules/mod_jk2.so
# If set to inprocess the mod_jk2 will Register natives itself
# This will enable the starting of the Tomcat from mod_jk2
apr.jniModeSo=inprocess
-------------------------------------------
workers2.properties:
-------------------------------------------
[logger]
level=DEBUG
[config:]
file=${serverRoot}/conf/workers2.properties
debug=0
debugEnv=0
[uriMap:]
info=Maps the requests. Options: debug
debug=0
[shm:]
info=Scoreboard. Required for reconfiguration and status with multiprocess servers
file=${serverRoot}/logs/jk2.shm
size=1000000
debug=0
disabled=0
[workerEnv:]
info=Global server options
timing=1
debug=0
[lb:lb]
info=Default load balancer.
debug=0
[channel.jni:jni]
info=The jni channel, used if tomcat is started inprocess
[status:]
info=Status worker, displays runtime informations
[vm:]
info=Parameters used to load a JVM in the server process
#OPT=-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=8000,server=y ,suspend=n
OPT=-Xmx32m
OPT=-Xms32m
OPT=-Djava.home=C:/lib/j2sdk1.4.1_02
OPT=-Dcatalina.config=file:../conf/catalina.properties
OPT=-Dcatalina.home=C:/Programme/Apache Group/jakarta-tomcat-5.0.20
OPT=-Dcatalina.base=C:/Programme/Apache Group/jakarta-tomcat-5.0.20
OPT=-Djava.class.path=C:/lib/j2sdk1.4.1_02/lib/tools.jar;C:/Programme/Apache Group/jakarta-tomcat-5.0.20/server/lib/tomcat-jni.jar;C:/Programme/Apache Group/jakarta-tomcat-5.0.20/common/lib/jmx.jar;C:/Programme/Apache Group/jakarta-tomcat-5.0.20/bin/bootstrap.jar
disabled=0
[worker.jninStartup]
info=Command to be executed by the VM on startup. This one will start tomcat.
class=org/apache/jk/apr/TomcatStarter
ARG=startd
disabled=0
stdout=${serverRoot}/logs/stdout.log
stderr=${serverRoot}/logs/stderr.log
[worker.jninShutdown]
info=Command to be executed by the VM on shutdown. This one will stop tomcat.
class=org/apache/jk/apr/TomcatStarter
ARG=stopd
disabled=0
[uri:/jkstatus/*]
info=Display status information and checks the config file for changes.
group=status:
#[uri:/myapps/*]
#info=Map the whole webapp
#[uri:/manager/*]
#info=Map the whole webapp
[uri:/jsp-examples/*]
info=Map the whole webapp
-------------------------------------------
Apache error.log:
-------------------------------------------
//... vorher alles ok, nur notices
[Mon Aug 30 19:44:52 2004] [notice] config.update(): done uri:/jsp-examples/*
[Mon Aug 30 19:44:52 2004] [notice] shm.create() Created head 640008 size 8192
[Mon Aug 30 19:44:53 2004] [notice] Child 1072: Child process is running
[Mon Aug 30 19:44:53 2004] [notice] jk2_init() Setting scoreboard slot 0 for child 1072
[Mon Aug 30 19:44:53 2004] [notice] vm.init(): Jni lib: C:\Programme\Java\j2re1.4.1_02\bin\client\jvm.dll
[Mon Aug 30 19:44:54 2004] [notice] vm.open2() done
[Mon Aug 30 19:44:54 2004] [error] workerEnv.initChannel() init failed for channel.jni:jni
[Mon Aug 30 19:44:54 2004] [notice] workerJni.Init() Skipping initialization for the 1072 1072
[Mon Aug 30 19:44:54 2004] [error] workerEnv.initWorkers() init failed for worker.jninStartup
[Mon Aug 30 19:44:54 2004] [notice] workerJni.Init() Skipping initialization for the 1072 1072
[Mon Aug 30 19:44:54 2004] [error] workerEnv.initWorkers() init failed for worker.jninShutdown
[Mon Aug 30 19:44:54 2004] [notice] workerEnv.init() ok C:/Programme/Apache Group/Apache2/conf/workers2.properties
[Mon Aug 30 19:44:54 2004] [notice] mod_jk2 child 1072 initialized
[Mon Aug 30 19:44:55 2004] [notice] Child 1072: Acquired the start mutex.
[Mon Aug 30 19:44:55 2004] [notice] Child 1072: Starting 250 worker threads.
</pre>
<BR><BR>
ich versuche nun schon eine Weile erfolglos, Apache und Tomcat miteinander zu verbinden. Ich habe mich an diesem Artikel orientiert: http://tomcat.objektpark.org/howto/tomcatjni.html , aber tomcat startet bei mir nicht.
<BR><BR>
Ich verwende tomcat 5.0.20, apache 2.0.48 unter Windows XP. Wenn ich apache starte, wird ein fehler geloggt (s.u.); stderr.log und stdout.log im Apache-conf-Verzeichnis sind leer - tomcat scheint also nicht zu starten.<br><br>
In den workers2.properties war ich nicht sicher, was ich für OPT=-Dcatalina.base setzen sollte. Das zeigt jetzt auf mein tomcat_home. Ansonsten kann ich nichts entdecken, was ich falsch mache.<br><br>
Wäre nett, wenn mir jemand helfen könnte.<br><br>
Danke!<br>
Martin
<pre>
-------------------------------------------
jk2.properties:
-------------------------------------------
# Just to check if the the config is working
shm.file=C:/Programme/Apache Group/Apache2/logs/jk2.shm
# In order to enable jni use any channelJni directive
channelJni.disabled = 0
# For Connecting to Tomcat outprocess
# apr.jniModeSo=/opt/apache2/modules/mod_jk2.so
# If set to inprocess the mod_jk2 will Register natives itself
# This will enable the starting of the Tomcat from mod_jk2
apr.jniModeSo=inprocess
-------------------------------------------
workers2.properties:
-------------------------------------------
[logger]
level=DEBUG
[config:]
file=${serverRoot}/conf/workers2.properties
debug=0
debugEnv=0
[uriMap:]
info=Maps the requests. Options: debug
debug=0
[shm:]
info=Scoreboard. Required for reconfiguration and status with multiprocess servers
file=${serverRoot}/logs/jk2.shm
size=1000000
debug=0
disabled=0
[workerEnv:]
info=Global server options
timing=1
debug=0
[lb:lb]
info=Default load balancer.
debug=0
[channel.jni:jni]
info=The jni channel, used if tomcat is started inprocess
[status:]
info=Status worker, displays runtime informations
[vm:]
info=Parameters used to load a JVM in the server process
#OPT=-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=8000,server=y ,suspend=n
OPT=-Xmx32m
OPT=-Xms32m
OPT=-Djava.home=C:/lib/j2sdk1.4.1_02
OPT=-Dcatalina.config=file:../conf/catalina.properties
OPT=-Dcatalina.home=C:/Programme/Apache Group/jakarta-tomcat-5.0.20
OPT=-Dcatalina.base=C:/Programme/Apache Group/jakarta-tomcat-5.0.20
OPT=-Djava.class.path=C:/lib/j2sdk1.4.1_02/lib/tools.jar;C:/Programme/Apache Group/jakarta-tomcat-5.0.20/server/lib/tomcat-jni.jar;C:/Programme/Apache Group/jakarta-tomcat-5.0.20/common/lib/jmx.jar;C:/Programme/Apache Group/jakarta-tomcat-5.0.20/bin/bootstrap.jar
disabled=0
[worker.jninStartup]
info=Command to be executed by the VM on startup. This one will start tomcat.
class=org/apache/jk/apr/TomcatStarter
ARG=startd
disabled=0
stdout=${serverRoot}/logs/stdout.log
stderr=${serverRoot}/logs/stderr.log
[worker.jninShutdown]
info=Command to be executed by the VM on shutdown. This one will stop tomcat.
class=org/apache/jk/apr/TomcatStarter
ARG=stopd
disabled=0
[uri:/jkstatus/*]
info=Display status information and checks the config file for changes.
group=status:
#[uri:/myapps/*]
#info=Map the whole webapp
#[uri:/manager/*]
#info=Map the whole webapp
[uri:/jsp-examples/*]
info=Map the whole webapp
-------------------------------------------
Apache error.log:
-------------------------------------------
//... vorher alles ok, nur notices
[Mon Aug 30 19:44:52 2004] [notice] config.update(): done uri:/jsp-examples/*
[Mon Aug 30 19:44:52 2004] [notice] shm.create() Created head 640008 size 8192
[Mon Aug 30 19:44:53 2004] [notice] Child 1072: Child process is running
[Mon Aug 30 19:44:53 2004] [notice] jk2_init() Setting scoreboard slot 0 for child 1072
[Mon Aug 30 19:44:53 2004] [notice] vm.init(): Jni lib: C:\Programme\Java\j2re1.4.1_02\bin\client\jvm.dll
[Mon Aug 30 19:44:54 2004] [notice] vm.open2() done
[Mon Aug 30 19:44:54 2004] [error] workerEnv.initChannel() init failed for channel.jni:jni
[Mon Aug 30 19:44:54 2004] [notice] workerJni.Init() Skipping initialization for the 1072 1072
[Mon Aug 30 19:44:54 2004] [error] workerEnv.initWorkers() init failed for worker.jninStartup
[Mon Aug 30 19:44:54 2004] [notice] workerJni.Init() Skipping initialization for the 1072 1072
[Mon Aug 30 19:44:54 2004] [error] workerEnv.initWorkers() init failed for worker.jninShutdown
[Mon Aug 30 19:44:54 2004] [notice] workerEnv.init() ok C:/Programme/Apache Group/Apache2/conf/workers2.properties
[Mon Aug 30 19:44:54 2004] [notice] mod_jk2 child 1072 initialized
[Mon Aug 30 19:44:55 2004] [notice] Child 1072: Acquired the start mutex.
[Mon Aug 30 19:44:55 2004] [notice] Child 1072: Starting 250 worker threads.
</pre>
Comment