- PR -

Tomcat4.1.31の複数NTサービス化

1
投稿者投稿内容
おす
会議室デビュー日: 2003/03/08
投稿数: 13
投稿日時: 2006-11-14 12:58
こんにちは。

1つのTomcat4.1.31をserver.xmlを指定して複数のNTサービスとして起動することは可能でしょうか?

↓のような感じに異なるコンフィグで3つサービスとして動かしたいのですが
方法がわかりませんでした。

tomcat1 server1.xml port=18009
tomcat2 server2.xml port=28009
tomcat3 server3.xml port=38009

Tomcat4.1.31でなくても、
Tomcat4.1.34
Tomcat5.0.X
Tomcat5.5.X
のやり方でもかまいません。

ご存知の方おしえてください。
よろしくおねがいします。
sublime3544
会議室デビュー日: 2006/06/07
投稿数: 6
投稿日時: 2006-11-14 15:09
JBoss を使って3つの Tomcat のインスタンスを起動するというのはダメでしょうか?

ServiceBindingManagerを使えば異なるポート番号で起動できます。
ただし、コンフィグディレクトリが3つ必要です。

${jboss.home.url}/server/conf/jboss-service.xmlに以下のような記述があります。
(コメントアウトされています)

<mbean code="org.jboss.services.binding.ServiceBindingManager"
name="jboss.system:service=ServiceBindingManager">
<attribute name="ServerName">ports-01</attribute>
<attribute name="StoreURL">${jboss.home.url}/docs/examples/binding-manager/sample-bindings.xml</attribute>

の ports-01 の値を変更してポート番号の設定をします。ポート番号はその下のXMLファイル(sample-binding.xml)に書かれています。

既定では
ports-default 8080
ports-01 8180
ports-02 8280
の3つが設定されているのでこれらの値を変えることでご要望のポートで起動できると思います。
おす
会議室デビュー日: 2003/03/08
投稿数: 13
投稿日時: 2006-11-14 16:25
JBossは現在使用していないので、もっとシンプルに実現する方法はないでしょうか?

普通に起動するだけなら↓でいけるのですが
NTサービスで起動する方法がわからないのです。

C:/opt/tomcat4/bin/catalina start -config C:/opt/tomcat4/conf/server1.xml
C:/opt/tomcat4/bin/catalina start -config C:/opt/tomcat4/conf/server2.xml
C:/opt/tomcat4/bin/catalina start -config C:/opt/tomcat4/conf/server3.xml

tomcat.exe を使ってサービスをインストールするときに
なにかのオプションを指定する。
もしくは、レジストリを直接いじる方法があるのでは?
と思っているのですが。。
ひろ@ya
大ベテラン
会議室デビュー日: 2006/02/23
投稿数: 168
投稿日時: 2006-11-14 17:10
試したことはないので大外れの予感もしますが、

サービスにTomcatバージョン(X.Y)が入っているので、
4.1と5.0と5.5の3つを別々のフォルダにインストールしたら3つ
別々のサービスが出来ませんか?

参考:
サービスの起動/終了に関する設定内容は、Tomcat 4.1 の場合は
HKEY_LOCAL_MACHINE\SYSTEM\CurrenControlSet\Service\Apache Tomcat 4.1\Paramerer
に入っています。
おす
会議室デビュー日: 2003/03/08
投稿数: 13
投稿日時: 2006-11-14 17:47
回答ありがとうございます。
ですがtomcatのインストールは1つしかしたくないのです。
端的に言うと↓のことをNTサービスでやりたい。
ということになります。

C:/opt/tomcat4/bin/catalina start -config C:/opt/tomcat4/conf/server1.xml
C:/opt/tomcat4/bin/catalina start -config C:/opt/tomcat4/conf/server2.xml
C:/opt/tomcat4/bin/catalina start -config C:/opt/tomcat4/conf/server3.xml

質問の仕方がまずかったのですが
4.1と5.0と5.5を起動するというわけではなく、
4.1×3 もしくは 5.0×3 もしくは 5.5×3 と思ってください。

よろしくおねがいします。
はしもと
大ベテラン
会議室デビュー日: 2003/02/05
投稿数: 182
投稿日時: 2006-11-14 19:21
5.5 について書きますが 4.1 も同じだったと思います。

まず Tomcat の NT サービスは Commons Daemon の Procrun を利用したものです。
http://jakarta.apache.org/commons/daemon/procrun.html
bin/tomcat5.exe が Prunsrv で tomcat5w.exe が Prunmgr です。
また 5.5 には以下のページもあります。
http://jakarta.apache.org/commons/daemon/procrun.html

実際に NT サービスを設定する例は、インストーラが利用する
build/tomcat.nsi や bin/service.bat にあります。

-config C:/opt/tomcat4/conf/server1.xml というのは
コマンドラインオプションですから
--StartParams, --StopParams に指定するものだと思います。
おす
会議室デビュー日: 2003/03/08
投稿数: 13
投稿日時: 2006-11-15 10:43
こんな感じでやりたいことが実現できました。
ありがとうございました。

コード:
@echo off

set JAVA_HOME=C:\opt\java
set CATALINA_HOME=C:\opt\tomcat

set SERVICE_NAME=tomcat1
set OUT_LOG=%CATALINA_HOME%\logs\stdout1.log
set ERR_LOG=%CATALINA_HOME%\logs\stderr1.log

set START_PARAM=start
set START_PARAM=%START_PARAM% -config
set START_PARAM=%START_PARAM% %CATALINA_HOME%\conf\server1.xml

set STOP_PARAM="stop"

set JVM_LIB=%JAVA_HOME%\jre\bin\server\jvm.dll
set BOOT_CLASS=org.apache.catalina.startup.BootstrapService

set CLASS_PATH=%CATALINA_HOME%\bin\bootstrap.jar
set CLASS_PATH=%CLASS_PATH%;%JAVA_HOME%\lib\tools.jar

set JVM_OPTION=-Djava.class.path=%CLASS_PATH%
set JVM_OPTION=%JVM_OPTION% -Dcatalina.home=%CATALINA_HOME%
set JVM_OPTION=%JVM_OPTION% -server
set JVM_OPTION=%JVM_OPTION% -Xmx1024M
set JVM_OPTION=%JVM_OPTION% -Xms1024M
set JVM_OPTION=%JVM_OPTION% -Xss512k
set JVM_OPTION=%JVM_OPTION% -XX:NewSize=300M
set JVM_OPTION=%JVM_OPTION% -XX:MaxNewSize=300M
set JVM_OPTION=%JVM_OPTION% -XX:MaxPermSize=256M
set JVM_OPTION=%JVM_OPTION% -XX:PermSize=256M
set JVM_OPTION=%JVM_OPTION% -XX:SurvivorRatio=3

%CATALINA_HOME%\bin\tomcat.exe -install %SERVICE_NAME% %JVM_LIB% %JVM_OPTION% -start %BOOT_CLASS% -params %START_PARAM% -stop %BOOT_CLASS% -params %STOP_PARAM% -out %OUT_LOG% -err %ERR_LOG%


はしもと
大ベテラン
会議室デビュー日: 2003/02/05
投稿数: 182
投稿日時: 2006-11-15 16:32
4.1.x の tomcat.exe は Procrun ではなく JavaService でした。すみません。
自分で書いといて忘れてた。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=16097&forum=12
1

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