- 締切済み
Apache2+JK2でjniを使用するとサーバーエラー(500)
Tomcat4.1.24+Apache2+JK2を使ってPort 80でも JSP/Servletにアクセス出来るようにはなったのです が、JNIを使った通信がなかなかうまくいきません。例 えば、http://localhost/roller/にアクセスすると、 500 Internal Server Errorが返ってきます。どのよう にしたら解決できるのでしょうか?お願いします。 #workers2.properties [channel.jni:jni] [config:] TOMCAT_HOME=C:/Program Files/Apache Group/Tomcat 4.1 # Java バーチャルマシンのパラメータの定義 [vm:] info=Parameters used to load a JVM in the server process OPT=-Djava.class.path=${TOMCAT_HOME}/lib/tomcat-jni.jar;${TOMCAT_HOME}/lib/tomcat.jar OPT=-Dtomcat.home=${TOMCAT_HOME} OPT=-Dcatalina.home=${TOMCAT_HOME} OPT=-Xmx128M # JNI ワーカの起動時ハンドラ [worker.jni:onStartup] info=Command to be executed by the VM on startup. This one will start tomcat. class=org/apache/jk/apr/TomcatStarter ARG=start stdout=${serverRoot}/logs/stdout.log stderr=${serverRoot}/logs/stderr.log # JNI ワーカの終了時ハンドラ [worker.jni:onShutdown] info=Command to be executed by the VM on shutdown. This one will stop tomcat. class=org/apache/jk/apr/TomcatStarter ARG=stop # Tomcat の examples Web アプリケーションを Web サーバ URI 空間にマップ(関連付け) [uri:/examples/*] [uri:/roller/*] ====Apacheのerror.log========== [[Tue Jul 22 16:02:32 2003] [error] mod_jk.handler() Error connecting to tomcat 120000
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- FlossenEngel
- ベストアンサー率77% (132/170)
(1) -Djava.class.pathは ${TOMCAT_HOME}/bin/tomcat-jni.jar;${TOMCAT_HOME}/server/lib/commons-logging.jar で試してみて下さい。(ファイルの存在を確認して下さい) (2) jk2.propertiesに以下の2行が必要です。 channelJni.disabled = 0 apr.jniModeSo=inprocess (3) Apache起動時、Tomcatが起動完了するまでに結構時間がかかると思います。stderr.logの最終行が 2003/07/22 19:33:03 org.apache.jk.server.JkMain start 情報: Jk running ID=0 time=0/490 config=~ のようになってからアクセスしてみて下さい。
補足
FlossenEngel様、アドバイスありがとうございました。 どやらTomcatにアクセスする事は出来る様になったので すが、今度は更に難解そうな問題に直面しています。 http://localhost/aloha/というページにアクセスした ところ、stderr.logに次のようなエラーが出てきまし た。 java.io.IOException: CreateProcess: javac.exe -classpath "C:\Program Files\Apache Group\Tomcat 4.1\bin\tomcat-jni.jar;C:\Program Files\Apache Group\Tomcat 4.1\server\lib\commons-logging.jar;D:\Study\Programming\Java\TomcatExamples\aloha project\aloha 0.4\WEB-INF\classes;D:\Study\Programming\Java\TomcatExamples\aloha project\aloha 0.4\WEB-INF\lib\commons-beanutils.jar;D:\Study\Programming\Java\TomcatExamples\aloha project\aloha 0.4\WEB-INF\lib\commons-collections.jar;D:\Study\Programming\Java\TomcatExamples\aloha project\aloha 0.4\WEB-INF\lib\commons-dbcp.jar;D:\Study\Programming\Java\TomcatExamples\aloha project\aloha 0.4\WEB-INF\lib\commons-digester.jar;D:\Study\Programming\Java\TomcatExamples\aloha project\aloha 0.4\WEB-INF\lib\commons-logging.jar;D:\Study\Programming\Java\TomcatExamples\aloha project\aloha 0.4\WEB-INF\lib\commons-pool.jar;D:\Study\Programming\Java\TomcatExamples\aloha project\aloha 0.4\WEB-INF\lib\crimson.jar;D:\Study\Programming\Java\TomcatExamples\aloha project\aloha 0.4\WEB-INF\lib\jaxp.jar;D:\Study\Program? Googleで検索してみたところ、どうやらclasspathのパ ラメータが長すぎるようなのです。こんなことはTomcat に直接Port 8080でアクセスしていた時は起きませんで した。どのようにすればこの問題を回避することが出来 るのでしょうか?もしご存知でしたら再度アドバイスを お願いします。