はじめに
WebServer : ApacheHttpServer
ApServer : ApacheTomcat
上記の組み合わせで運用されている業務に携わっているので,
どういった設定ができるか等を順次まとめてみる。
ApServer : ApacheTomcat
Tomcatとは?
Javaサーブレット等を処理するアプリケーションサーバ。
ServletAPIを保有している。
Tomcat配下にWebApplicationがぶら下がる形となる。
Javaで開発されている。
設定値
server.xml
Tomcatサーバの動作を定義する設定ファイルです。
サーバーの振る舞いとして以下のようなタグを指定できる。
タグ | 振る舞い |
---|---|
Listener | Tomcatエンジンの起動、停止を監視するJavaクラスを指定します |
Connector | クライアントからのリクエストを受け付けるコネクタを設定します |
Realm | 認証方法を設定します |
Valve | クライアントに対する送受信データをフィルタし、処理を行います |
server.xmlにはcontextタグ毎に個々のWebアプリケーション設定を記述する。
web.xml
WebApplication毎に用意するもので、 アプリケーションの動作を定義する設定ファイルです。
(フレームワークの仕様によっては不要かもです) エラーページ、フィルター等を設定できます。
デフォルトのweb.xmlをコピーして拡張するのが良いかと思います。
また、web.xmlはマイナーアップデートでも若干変更があるので、 マイグレーション時には確認したほうがいいです。
アクセスログをカスタマイズする
タグ | 振る舞い |
---|---|
directory | 対象ログのディレクトリを設定します |
pattern | 出力するログの書式を設定します |
rotatable | ログファイルのローテートを設定します |
fileDateFormat | ローテートする場合の日付フォーマットを設定します |
patternの書式のサンプルは2種類用意されている。
「common」と「combined」があり、指定がなければ「common」となる仕様である。
ログを検知するシステムと連携されている可能性があるので書式は簡単に変更できない。
またデイリーローテートだと、0時をまたいで初めてアクセスされたタイミングでローテートされる。
勝手に0時でファイルが生成されるわけではない。
*サーバーログはlogging.propertiesに記述する。
共通ライブラリ
アプリケーション内のlib配下に置くよりも、 tomcat/lib配下にjarを置いてしまう。
容量削減に繋がるし、jarに潜在バグがあれば使用しているものは全て変更すべき。
*影響範囲とテスト工数は大きくはなる。
*同一名のライブラリがあった際最新のバージョンとかでなく、使用アプリケーションの位置関係で近いものを優先するらしい。
WebServer : ApacheHttpServer
Apacheとは?
Apache Software Foundationを指す。
Apache HttpServerのことを略して「アパッチ」と発音したりする。
インストール時にビルド&コンパイルする。
Apacheの下にApServerがぶら下がる形となる。
モジュール
Apache標準構成から追加機能を付与したい時はモジュールを追加する。
モジュールはビルド時の設定ファイルに記述すれば自動的に追加されるし、
動作後でも追加することは可能である。
モジュール | 振る舞い |
---|---|
mod_cache | |
mod_headers | |
mod_proxy_ajp | |
mod_rewrite |
設定値
httpd.conf
後日追記します。
サーバー証明書
後日追記します。
Apache × Tomcat 連携
後日追記します。