- PR -

Tomcat4.xのWindowsでの起動について

1
投稿者投稿内容
小僧
ぬし
会議室デビュー日: 2002/08/14
投稿数: 526
投稿日時: 2002-12-26 01:47
Tomcat4.0.4をWindowsXPにインストールしましたが、Tomcatの起動
に関して2,3わからないことが出てきたので質問します。サービス
起動するTomcat.exe(JavaVM)に起動パラメータを渡したいのですが、

Tomcatサービスに開始パラメータを指定しても、再起動時にクリアさ
れてしまい設定が保存されません。(こういうもんなんですかね?)

Tomcat.exeが起動時に参照する設定ファイルとかあるんですかね。
もしあるなら、そこに設定すればいいかなーなんて思ってまして。
ResinWebアプリケーションサーバなんかは、設定ファイルにjavaVM
に渡すパラメータが指定できたりしたので。

環境変数CATALINA_OPTSにコマンドラインパラメータを入れてから
tomcat/bin/start.batで起動すると、正しくパラメータを反映して
起動するのですが、ユーザーがログインしなくても使えるようにする
必要があるので、サービスで起動したいんです。通常のプログラムを
NTサービスとして登録できるようにするユーティリティーもあるよう
なので、そっちで上手くやる方法なんかも考えてます。
それと、Tomcatがちゃんと起動しきらないうちにApacheが起動すると、
上手くコネクタが働かないことがあるそうなんですが、両方ともサー
ビスで起動しちゃうとタイミングが早くなってしまう可能性があると
思うのですが、皆さんはApacheとTomcatをどういう感じで起動/停止
させてますか?。


[ メッセージ編集済み 編集者: 小僧 編集日時 2002-12-26 02:00 ]

[ メッセージ編集済み 編集者: 小僧 編集日時 2002-12-26 02:11 ]
flower
会議室デビュー日: 2002/10/15
投稿数: 14
投稿日時: 2002-12-26 09:04
初めまして。

CATALINA_OPTSは、「tomcat.bat」ファイル内で読み込むような記述がされていますし、
同ファイル先頭にヘルプもあります。具体的には「tomcat.bat」内で
set _TOMCAT_HOME="パラメータ 〜"
のように指定すれば良いのではないでしょうか?

また、もっと簡単な方法として環境変数に登録(設定?)するというのもありですね。
#そのままですが・・・。

Apache+Tomcatの連携・起動についてですが、私はTomcatを利用する場合、
自動起動させるように設定しておりません。

>Tomcatがちゃんと起動しきらないうちにApacheが起動すると、
>上手くコネクタが働かないことがあるそうなんですが

エラーが出る場合もあります。
森蔵
大ベテラン
会議室デビュー日: 2001/08/10
投稿数: 158
お住まい・勤務地: 大阪
投稿日時: 2002-12-26 10:27
こんにちは。森蔵です。

引用:

それと、Tomcatがちゃんと起動しきらないうちにApacheが起動すると、
上手くコネクタが働かないことがあるそうなんですが、両方ともサー
ビスで起動しちゃうとタイミングが早くなってしまう可能性があると
思うのですが、皆さんはApacheとTomcatをどういう感じで起動/停止
させてますか?。



私は、下記環境で、両方ともサービスで起動させてますが、きちんと動いています。
Apacheが先に起動した場合、暫くの間コネクトが出来ないようですが、暫く
すると接続できるようになります。

※ただ、UNIXで同じ事をやるとうまくいきませんね。なぜでしょう?
--
Windows XP SP1
jsdk1.4.1_01
Apache 2.0.43
Tomcat 4.1.12
mod_jk-2.0.43.dll

小僧
ぬし
会議室デビュー日: 2002/08/14
投稿数: 526
投稿日時: 2002-12-26 10:48
早速の回答ありがとうございました。
えーと、まず4.0.4をインストールしたところ、サービスで起動するプログラムは
tomcat.exeでして、tomcat.batはありませんでした。コマンドラインから
start.batを実行した場合は、環境変数が反映されていることが分かるんですが、
サービスの場合はシステム環境変数を参照しないみたいなんで、無視して起動して
いるようなんですよ。ログオンしない状態で使いたいので、ログオンしてから有効にな
る環境変数への設定ではダメなんですよー。サービス起動時に参照する何か
・開始パラメータ
・設定ファイル
が分かればいいんですが、それがどうも見つからないんです。start.batでの起動
ではありませんからね。^^;
通常はシステム環境変数をサービスでも参照するもんなんですかね?。サービスの
開始パラメータさえちゃんと保存できれば、それで問題解決な気もするんですがね
ー、なかなか対処法が見つからなくって ^^;。引き続きメッセージ待ってマース。

P・S
JavaVMに -server -Xmx -Xms Xss なんかを設定すると、体感できるくらいレス
ポンスが上がって驚いちゃいました。




[ メッセージ編集済み 編集者: 小僧 編集日時 2002-12-26 10:56 ]
(株)ぽち
ぬし
会議室デビュー日: 2002/09/10
投稿数: 376
投稿日時: 2002-12-26 10:53
こんにちわ。
tomcat+apacheの起動順序に関してですが

基本的に「関係ない」と考えているのはおかしいでしょうか?
この順序が関係していると言われているのは、tomcat2.x時代に
tomcatが起動時に自動生成ファイルを作るからであって、
コンテキストを追加した際などにapacheを先に起動することで
新しいコンテキストをapacheが認識できずinternal server error
になる事象から来ているものだと認識していました。

基本的にapacheはtomcatの設定ファイルを見に行くだけでは
ないのでしょうか?コネクタうんぬんは起動順に関係するもの
ではないと認識しているのですが間違っていますでしょうか?

現にwindows+tomcat3.3.1+apache1.3.26をここ数ヶ月NTサービス
で動かしていますが問題は出ていません。

tomcat4.xについてはわかりませんが。。
起動順に関してはちと興味深かったので返信してみました。
小僧
ぬし
会議室デビュー日: 2002/08/14
投稿数: 526
投稿日時: 2002-12-26 11:07
起動順序ですが、Tomcatの問題というよりもWebサーバとの間にある
コネクタが使っているプロトコルの問題だと考えています。
Apache2.xにmod_jk2でつないでいるんですが、コネクタがAJP13
プロトコルで常にWebサーバとコネクションを張っているため、先に
Tomcatを起動してからWebサーバが起動しないとAJP13でのコネクシ
ョンが確立できないからかなーと。でも、Tomcatだけ機動しなおし
ても大体問題無く動いてるようですがね。サービスで動作させる場
合は、極力起動に関するトラブルを無くした方が良いと思いまして。
(株)ぽち
ぬし
会議室デビュー日: 2002/09/10
投稿数: 376
投稿日時: 2002-12-26 11:37
引用:

小僧さんの書き込み (2002-12-26 11:07) より:
起動順序ですが、Tomcatの問題というよりもWebサーバとの間にある
コネクタが使っているプロトコルの問題だと考えています。
Apache2.xにmod_jk2でつないでいるんですが、コネクタがAJP13
プロトコルで常にWebサーバとコネクションを張っているため、先に
Tomcatを起動してからWebサーバが起動しないとAJP13でのコネクシ
ョンが確立できないからかなーと。でも、Tomcatだけ機動しなおし
ても大体問題無く動いてるようですがね。サービスで動作させる場
合は、極力起動に関するトラブルを無くした方が良いと思いまして。



なるほど。
tomcat4.xとapache2.xではそういう問題があるのですね。

僕も実は起動順をどうにかできないかと悩んでいた時がありまして。

その時は、次のようなことをやりました。(windows限定)
・batファイルを作る。
net start apache
call sleep.js
net start tomcat

・スリープ処理のスクリプトファイルを作る
WScript.Sleep(1000)

・タスクスケジューラに「システム起動時」でbatファイルを登録

・apache,tomcatのNTサービスは「手動」に設定

これでとりあえず、windowsにログインしなくても電源ONで
サービスが走ると思います。起動順も制御できます。

スマートではありませんが。
小僧
ぬし
会議室デビュー日: 2002/08/14
投稿数: 526
投稿日時: 2002-12-26 12:51
Apache2.x特有の問題ではなくて、AJP13のコネクタを使っている場合に
は起こる問題です。
タスクスケジューラか!それは思いつかなかったです、なるほど起動順序
も制御できるしGOODですね。(^^)
私の方も色々試まして、サービスに起動パラメータを渡せました。レジスト
リをいじるのでスマートではありませんがね。

---------------------------------------------------------------
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Apache Tomcat\Parameters
この下をいじります。
JVM Option Count
 以下のJVM Option Numberの数
JVM Option Number 0
 オプション文字列(例: -DXss256k)
JVM Option Number 1
JVM Option Number 2
.
.
.
---------------------------------------------------------------
tomcat.exeにもサービスインストールするためのオプションがあったん
ですが、手軽にいじってみました。しかしタスクスケジューラは目から鱗
だなー。システム起動時なんていうオプションがあったことも知らなかっ
たし。勉強になりました。



1

スキルアップ/キャリアアップ(JOB@IT)