JAVA+JSP+Struts+Tomcat Part2
レス数が900を超えています。1000を超えると表示できなくなるよ。
09082/2
2006/10/09(月) 17:49:17以下の4つの案を考えましたが、みなさんどうやっているのでしょうか?
--------------------------------------------
1.開発時から apache も開発メンバーにインストールさせ、
開発時から、img ファイルは webapps の hoge Context の外に置き、
プログラムからリンクを作るときも "../img/hoge.gif" のように、hoge から上に上ってからリンクを張るようにする。
2.開発時は↑のディレクトリ構成のように tomcat 単体で動かせるようにしておき、
結合時環境にリリースするときから、性的ファイルを apache 配下に置かれるようにデプロイする。
リンク先のトップディレクトリのURLが変わるので、そこはプロパティファイルなどで対応する。
3.そもそも mod_jk や ajp の設定で、/hoge は tomcat に任せるが、
/hoge/img/ は tomcat には任せない ということができますか(できないと思っていますが・・・)
4.思いついたこと:
アクセスがすごい多いサイト等では、webサーバの前にsquidを置き、
キャッシュ(リバースプロキシ)として使っているところもあると思います。
そもそも squid はURL単位でキャッシュしてくれるので、img を tomcat の context配下に
置き、URL が http://servername/hoge/img/hoge.gif となっても、
・初回は Tomcat が画像を処理する
・http://servername/hoge/img/hoge.gif という URL を squid がキャッシュしてくれるので、
2回目は http://servername/hoge/img/hoge.gif 宛てのリクエストは tomcat はおろか
apache へも届かなくなる
・なので上記のようなディレクトリ構成にそもそも悩まなくてもよい
--------------------------------------------
4案の注:
squid を前に置くとき、/hoge 以下はキャッシュの対象からはずすような設定はしますか?
それともそんなことはしませんか?
# Servlerなどもキャッシュの対象にしてしまうと、動的コンテンツもキャッシュされてしまう?
# でもそういうときは、Servletの response ヘッダで Pragm: no-cache とか Cache-Control: no-cache
# を吐いて、キャッシュされないようにする?
レス数が900を超えています。1000を超えると表示できなくなるよ。