Open4
【メモ】Tomcat
server.xml
タグ名 | 概要 |
---|---|
<Server> | トップレベル要素。サーブレット・コンテナ全体を設定 |
<Service> | リクエストを処理する<Engine>タグと<Connector>タグの組み合わせグループを設定。<Server>タグ内に1つ以上設定可能 |
<Executor> | コンポーネント間で共有できるスレッドプールを設定 |
<Engine> | リクエストを処理する仕組みを設定。<Service>に対して1つだけ設定 |
<Connector> | クライアントからのリクエストを処理するコネクタの設定。1つ以上設定可能 |
<GlobalNamingResources> | <Service>タグを構成する要素の1つとしてJNDIリソースの設定を行う。<Server>タグに対して1つ設定可能 |
<Envirionment> | JNDIコンテキストを利用してWebアプリケーションが取得できる環境エントリを設定 |
<Resource> | JNDIリソースの基本設定 |
<ResourceParams> | JNDIリソースのパラメータを詳細設定 |
<Host> | 仮想ホストを設定 |
<DefaultContext> | コンテキストの基本設定。コンテキストによる個別の設定は<Context>タグで行う |
<Realm> | Tomcatでユーザー・パスワード・ユーザーロールの認証方法を設定 |
<Value> | リクエストをインターセプトして処理するのに利用。ログの制御やアクセス制限、リクエストダンプ、シングルサインオンの設定に利用 |
<Listener> | イベントを監視するJavaクラスを指定 |
参考
context.xml
<Context>タグ
Tomcat上で実行される1個のWebアプリケーションのこと
<Context>タグはserver.xmlに記述することが推奨されていないため、context.xmlに記述するのが一般的
属性
属性名 | 概要 |
---|---|
docBase | |
cookies | |
crossContext | |
override | |
privileged | |
reloadable | |
allowLinking | |
swallowOutput |
配置場所
No. | ディレクトリ | 適用範囲 |
---|---|---|
1 | ${CATALINA_HOME}/conf/server.xml |
すべてのアプリ(非推奨) |
2 | ${CATALINA_HOME}/conf/context.xml |
すべてのアプリ |
3 | ${CATALINA_HOME}/conf/[エンジン名]/[ホスト名]/context.xml |
エンジンごと |
4 | ${CATALINA_HOME}/conf/[エンジン名]/[ホスト名]/[アプリ名].xml |
特定のアプリ |
5 | ${CATALINA_HOME}/webapps/[アプリ名]/META-INF/context.xml |
特定のアプリ |
起動時に No.5 しか見つからない場合、その内容を No.4 にコピーし、次回以降は No.4 を利用する。
参考
環境変数の設定方法と確認
サービス設定
/etc/systemd/system/tomcat.service
[Unit]
Description=Apache Tomcat 9
After=network.target
[Service]
User=tomcat
Group=tomcat
Type=oneshot
PIDFile=/opt/tomcat/tomcat.pid
RemainAfterExit=yes
EnvironmentFile=/etc/sysconfig/tomcat ★ 環境変数設定ファイルのパス ★
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
ExecReStart=/opt/tomcat/bin/shutdown.sh;/opt/tomcat/bin/startup.sh
[Install]
WantedBy=multi-user.target
環境変数設定ファイル
/etc/sysconfig/tomcat
CATALINA_HOME=/opt/tomcat
参考
サーブレット
Java製のサーバーサイドWebアプリケーション。
対義語: アプレット
サーブレットコンテナ
サーブレットを動かすためのアプリケーション 。
Webの3層アーキテクチャでいう「アプリケーションサーバー」に該当する。
画像はhttps://atmarkit.itmedia.co.jp/fjava/javafaq/servlet/servlet02.htmlより引用
以下のような種類がある。
- Tomcat
- Jetty
- WebLogic/GlassFish
- JBoss/WildFly/Undertow
- WebSphere/LibertyProfile
Tomcatはアプリケーションサーバーであるが、簡易的なWebサーバー機能も持っているため、ローカルで単独で動作させることができる。
SpringBootとの関係
SpringBootはサーブレットコンテナがもとから組み込まれている。
組み込みのもので以下から選択が可能。
- Tomcat
- Jetty
- Undertow