TOPサーバ構築・運用> Tomcatの設定ファイル「server.xml」




いまさら聞けないTomcat
いまさら聞けないTomcat〜JSPサーバ構築のキソ

第8回:Tomcatのサーバ設定

著者:ビーブレイクシステムズ  羽倉 敬   2007/12/14
1   2  3  次のページ
Tomcatの設定ファイル「server.xml」

   「第7回:Tomcat Webアプリケーションマネージャを使ってみよう!」では、Tomcat WebアプリケーションマネージャによるWebアプリケーション管理について紹介しました。今回はTomcatの設定ファイルであるServer.xmlについて解説します。また、同様の設定をWebブラウザから行える管理ツールTomcat Administration Toolについて紹介します。

server.xmlによるTomcatの基本設定

   CATALINA_HOME/conf/server.xmlは、Tomcatのメインの設定ファイルであり、Tomcat起動時に読み込まれます。CATALINA_HOME/conf/ディレクトリにはデフォルトのserver.xmlの他に、最小限の設定だけが書かれたテンプレートserver-minimal.xmlが用意されています。新規にサーバの設定を書き起こす場合はserver-minimal.xmlをリネームして用いるのが便利です。


server.xmlの構造

   Tomcatはいくつかのコンポーネントで構成されており、server.xmlではXMLの要素を通じて各コンポーネントを定義しています。server.xmlの要素は図1のようなツリー構造をもっています。

   上位の属性は、自動的に下位の要素に継承されます。例えば、<Host>の子要素<Logger>の属性に何も指定しない場合、<Engine>の子要素の<Logger>の設定が使用されます。カスタマイズが必要な場合は、<Host>の子要素<Logger>に独自の設定を持たせることで、上位の設定を上書きできます。

図1:server.xmlの構造
図1:server.xmlの構造

   では、server.xmlで設定できるそれぞれの要素について解説していきます。


<Server>要素

   Tomcatサーバコンポーネント定義です。デフォルトでは「<Server port="8005" shutdown="SHUTDOWN">」となっており、ポート8005を監視してshutdownコマンドを受け付けるように設定されています。サーバには複数のサービスを関連付けることができます。


<Service>要素

   サービスコンポーネントを定義しています。サービスは後述するエンジンとそれに繋がるすべてのコネクタをグループ化したものです。デフォルトでは「<Service name="Catalina">」となっています。

   name属性で「Catalina」という名前でサービスが定義されており、エラーログや管理ツールはこの名前でサービスを識別します。1つのサーバに複数のサービスを定義する場合、異なるname属性をつける必要があります。

   サービスにはエンジンと1つ以上のコネクタを関連付けることができます。サービスとエンジンの関係は1:1です。


<Engine>要素

   エンジンはサーブレットコンテナのインスタンスをあらわし、コネクタから送られてくるリクエストを処理します。デフォルトでは「<Engine name="Catalina" defaultHost="localhost">」となっています。

   name属性はエンジンの名前をあらわし、エラーログや管理ツールはこの名前でエンジンを識別します。defaultHost属性はserver.xmlに定義されていないホストにリクエストがあった場合の送り先となる仮想ホストを指定します。エンジンには1つ以上のホストが関連付けられます。


<Connector>要素

   リクエストをエンジンに渡す役割をするのがコネクタです。サービスは1つ以上のコネクタを持つ必要があります。

   ユーザはHTTPやHTTPS/SSLなどさまざまな手段でエンジンにリクエストを送ります。これらの接続要件への対処はコネクタコンポーネントに任されます。各プロトコルに対応した複数のコネクタを持つことで、どのような接続でリクエストが送られてきてもエンジンが同様に処理し、レスポンスをコネクタに任せることができます。

   Tomcatにはいくつかの標準コネクタが搭載されています。デフォルトではHTTP 1.1コネクタとAJPコネクタが有効(コメントアウトされていない状態)になっています。


<DefaultContext>要素

   すべてのコンテキスト共通の定義です。デフォルトでは設定されていません。


<Realm>要素

   レルムはセキュリティのためのロール名とユーザ名、パスワードのマッピングを外部のデータソースから取り出す仕組みです。TomcatはUserDataBase、Memory、JDBC、JNDIなどいくつかのレルムを持っています。

   各レルムの違いはどこから情報を取り出すかの違いでしかありません。デフォルトではUserDataBase以外のレルムはコメントアウトされて無効になっています。

1   2  3  次のページ


株式会社ビーブレイクシステムズ 羽倉 敬
著者プロフィール
株式会社ビーブレイクシステムズ  羽倉 敬
千葉大学法経学部卒業。大学時代よりオープンソースに興味を持ち、オープンソース専業ベンダーのビーブレイクシステムズに入社。現在に至る。また、現在は社内技術サークルの中心メンバーとして日々提案・啓蒙活動を行う。座右の銘は「自らが求めてつくらなければ、自身が求めるものはできない」


この記事の評価をお聞かせください
ボタンをクリックしますとウインドウが開きます。
ご意見、ご要望にお応えします! インプレスIT INSIDE

INDEX
第8回:Tomcatのサーバ設定
Tomcatの設定ファイル「server.xml」
  <Logger>要素
  Administaration Toolによるサーバ管理
いまさら聞けないTomcat〜JSPサーバ構築のキソ
第1回 Tomcatって何ですか?
第2回 Tomcatって何ができるのですか?
第3回 TomcatをWindowsへのインストールしよう!
第4回 TomcatをLinuxへインストールしよう!(圧縮アーカイブ編)
第5回 TomcatをLinuxへインストールしよう!(パッケージ管理システム編)
第6回 TomcatにWebアプリケーションを配備する
第7回 Tomcat Webアプリケーションマネージャを使ってみよう!
第8回 Tomcatのサーバ設定
第9回 Tomcatと外部のプログラムを連携させよう!

Think IT 過去人気記事

注目おすすめ情報

Think IT人気ライター BEST 5

IT製品/サービス資料ダウンロード
    おすすめのホワイトペーパー情報を準備中です