47

現在、ポート 80 で単一の WAR アプリケーションを使用して単一の tomcat を実行しています。ドメイン名www.foo.orgは、このサーバー IP を指しています。

ポート 80 で別のクライアントにwww.bar.orgドメインを追加する手順は?

ありがとうございました

4

3 に答える 3

60

最初から、 conf/server.xmlに単一の「ホスト」レコードがあります。localhost

<Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true">
      <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log." suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />
</Host>

たとえば、別の「ホスト」レコードを追加できるようになりました。

  <Host name="anotherclient.com"  appBase="anotherclient" unpackWARs="true" autoDeploy="true">

       <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
           prefix="anotherclient_access_log." suffix=".txt"
           pattern="%h %l %u %t &quot;%r&quot; %s %b" />
  </Host>

wherename="anotherclient.com"は新しいクライアントのドメインで、appBase="anotherclient"はその Web アプリケーションのルート ディレクトリ名 (war を展開する場所) です。これは、Tomcat のホーム ディレクトリに相対的です。

tomcat の再起動後に変更が受け入れられます。

他のドメイン ( にリストされていないserver.xml) に送信されるが、サーバーの IP アドレスを指す要求は、デフォルト アプリケーションに渡されます。これは、Engine要素で指定されます。

<Engine name="Catalina" defaultHost="localhost">
于 2012-12-13T21:46:50.123 に答える
5

デフォルトの構成では、Tomcat は任意のホスト名のリクエストを受け入れ、それらすべてを conf/server.xml で定義された「localhost」 <Host> に送信します。それを変更していない場合は、両方のホスト名がサーバーを指すように DNS レコードが設定されていることを確認するだけです。

ホスト名ごとに異なる webapps のセットが必要な場合は、conf/server.xml で 2 番目の <Host> を定義し、適切なホスト名を使用する必要があります。(明示的に定義されたホストのいずれにも一致しないすべてのリクエストが送信される「デフォルト」ホストが常に必要であることに注意してください)。

ここで <Host> のドキュメントを読むことができます。最新バージョンのドキュメントへのリンク)。

于 2012-05-22T15:45:38.547 に答える
3

通常、80 とは異なるポート (8080 や 7001 など) に tomcat (または他のアプリケーション サーバー) があります。その後、Web サーバー (Apache http サーバーなど) をポート 80 に配置し、1 つまたは複数のコネクタを構成して、異なるアドレスを持つ異なるアプリケーション サーバーの異なるポートを指すようにします。

Apache http + tomcat については、次のリンクを参照してください。

http://tomcat.apache.org/connectors-doc/webserver_howto/apache.html

于 2012-05-22T15:26:13.953 に答える