0

同じ Windows で 2 つの tomcat インスタンスを実行したいと考えています。

そこで、次の手順を実行しました。

  1. tomcat をフォルダー tomcat1 にダウンロードしました
  2. 新しいフォルダーを作成しました: tomcat2
  3. conf フォルダーを tomcat1 から tomcat2 にコピーしました
  4. 空のフォルダーを作成しました: logs、temp、work
  5. フォルダビンを作成し、その中に2つのコマンドを入れました:

スタートアップ.bat

set CATALINA_BASE=C:\Programs\apache2
set CATALINA_HOME=C:\Programs\apache1
C:\Programs\apache1\bin\startup.bat

shutdown.bat

set CATALINA_BASE=C:\Programs\apache2
set CATALINA_HOME=C:\Programs\apache1
C:\Programs\apache1\bin\shutdown.bat 

また、apache2 の server.xml で次のように変更しました。

<Server port="8006" shutdown="SHUTDOWN">
<Connector port="8081" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8444" />
<Connector port="8010" protocol="AJP/1.3" redirectPort="8444" />

apache1では次のようになります。

<Server port="8005" shutdown="SHUTDOWN">
 <Connector port="8080" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443" />
 <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

apache1 から startup.bat を実行すると、server.xml ではポート 8080 に設定されていますが、ポート 8081 を占有します。Apache2 から startup.bat を実行しようとすると、ポートがビジー状態になります。いずれにせよ、最初に apache2 を試してから apache1 を試しても、両方を実行することはできません。

なにが問題ですか?

私はTomcat 7でWindows 7を使用しています

4

2 に答える 2

1

デフォルトCATALINA_HOMEは に設定されcatalina.batており、サブディレクトリの場所に相対的binです。

したがって、Tomcat バイナリを で解凍しc:\tomcat1、別のバイナリを で解凍するc:\tomcat2と、それぞれに独自のCATALINA_HOME.

あなたが sharedCATALINA_HOMEで説明したシナリオに関しては、正常に動作するのを妨げるものは何もありません。startup.bat適切なインスタンスを呼び出していること、およびそれぞれserver.xmlに適切なポートが構成されていることを 2 回、3 回確認します。

于 2012-06-21T15:46:01.870 に答える
0

推奨される解決策: 2 番目の tomcat インスタンスの別のポートを 8081 以外に選択します。
代替の解決策: McAfee FrameworkService.exe が使用するポートを変更します。ここにオプションについて話し合うスレッドがあります

ポート 8080 と 8081 で 2 つの tomcat インスタンスを実行しようとしたときに、同様の問題に遭遇しました。ここでnetstat -aon推奨されているように使用して、開いている接続と関連するプロセス ID のリストを表示します。この ID (私の場合は 1988) をプロセスに戻すと、McAfee FrameworkService.exe プロセスが 8081 を使用していたことがわかりました。tasklist /FI "PID eq 1988"

于 2012-07-20T21:05:30.437 に答える