Apache Tomcat
表示
Apache Tomcatは、JavaサーブレットとJavaServer Pages (JSP)の実装を提供するオープンソースのWebアプリケーションサーバーです。Apache Software Foundationによって開発されており、Java EE仕様の一部を実装しています。
インストールと設定
[編集]システム要件
[編集]- Java Runtime Environment (JRE) または Java Development Kit (JDK)
- 最小512MB RAM(推奨1GB以上)
- 最小1GBのディスク空き容量
インストール手順
[編集]- Apache Tomcatの公式サイトから適切なバージョンをダウンロード
- ダウンロードしたアーカイブを解凍
- JAVA_HOMEとCATALINA_HOME環境変数を設定
- binディレクトリ内のスタートアップスクリプトを実行
基本設定
[編集]server.xmlは主要な設定ファイルで、以下の要素を含みます:
- Connector - HTTPおよびAJPプロトコルの設定
- Engine - リクエスト処理エンジンの設定
- Host - バーチャルホストの設定
- Context - Webアプリケーションのコンテキスト設定
アプリケーションのデプロイ
[編集]デプロイ方法
[編集]- WARファイルの配置
- webappsディレクトリへの展開
- Tomcat管理画面からのデプロイ
- server.xmlでのContext定義
デプロイメント構造
[編集]ディレクトリ | 目的 |
---|---|
/WEB-INF | 設定ファイルとクラスファイル |
/WEB-INF/classes | Javaクラスファイル |
/WEB-INF/lib | JAR依存ライブラリ |
/ | 静的コンテンツ |
セキュリティ設定
[編集]ユーザー認証
[編集]tomcat-users.xmlでの設定例:
- tomcat-users.xml
<tomcat-users> <role rolename="manager-gui"/> <user username="admin" password="password" roles="manager-gui"/> </tomcat-users>
SSLの設定
[編集]server.xmlでのコネクタ設定例:
- server.xml
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" keystoreFile="${user.home}/.keystore" keystorePass="changeit" clientAuth="false" sslProtocol="TLS"/>
パフォーマンスチューニング
[編集]JVMの最適化
[編集]- -Xms: 初期ヒープサイズ
- -Xmx: 最大ヒープサイズ
- -XX:MaxPermSize: Permanent領域の最大サイズ
コネクタの最適化
[編集]- maxThreads: 最大スレッド数
- acceptCount: 接続キューサイズ
- connectionTimeout: 接続タイムアウト
トラブルシューティング
[編集]一般的な問題
[編集]- メモリ不足エラー
- 接続タイムアウト
- クラスローディングの問題
- パーミッションエラー
ログの確認
[編集]主要なログファイル:
- catalina.out: 標準的なログファイル
- localhost.log: アプリケーション固有のログ
- manager.log: 管理機能のログ
- host-manager.log: ホストマネージャのログ
高度な設定
[編集]クラスタリング
[編集]複数のTomcatインスタンスを構成する際の設定例:
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" channelSendOptions="8"> <Manager className="org.apache.catalina.ha.session.DeltaManager" expireSessionsOnShutdown="false" notifyListenersOnReplication="true"/> </Cluster>
ロードバランシング
[編集]- mod_jkを使用したApache HTTP Serverとの連携
- AJPプロトコルの設定
- セッションレプリケーション