Apache2.4とTomcat9で同じディレクトリ(フォルダ)を参照させる




開発環境には、Tomcatだけ入れてるのがふつうです。
でも、実行環境には、Apache + Tomcatだったりするのもふつうな話。
よって、開発している間は、コンテキスト配下のディレクトリに画像やスタイルシートのディレクトリを置きたくなります。
ところが、この状態では実行環境でせっかくApacheを用意していても、Tomcatが画像やスタイルシートを返すことになります。
静的コンテンツ(画像やスタイルシート)をTomcatが返すと、性能面でかなりの損害です(; ・`д・´)
かと言って、別のディレクトリに持っていくと、うまく動かなくなることも。。
そんなときは、Apacheの設定でどうにか逃げ切ることを考えてみましょうw
これを使えば、ApacheでもTomcatでも同じディレクトリを参照できることになり、ソース管理も簡単になります♪

Apacheのサンプル設定

ApacheからTomcatと連携する際の設定を見直します。
ふつうは、「このディレクトリならTomcatに連携する」のような形で書きますが、今回は逆です。
つまり、「このディレクトリならTomcatに連携しない」です。

サンプルの解説

「!」をつけると、そのディレクトリは除外されます。
これを利用して、静的コンテンツを含むディレクトリでは、ApacheがTomcatに連携することなく、直接応答できることになります。
この例では、ありがちなディレクトリ(スタイルシート、画像、JavaScript)以下がアクセスされた場合、Tomcatに連携をしません。
また、ブラウザが勝手にアクセスするファビコン(favicon.ico)もついでに抜いてますw
開発環境で開発をしていたコンテキストパス配下を「/var/www/www.example.com/」にまるっとコピーすればできあがりです♪
「おなじディレクトリに静的コンテンツが混在してます・・・(TT)」な人は、ファイル名を直接指定しましょう♪