apacheとtomcatの連携設定では、http://ServerIP/hogeへのアクセスがあった場合に 画像の取得要求をtomcatへ送信しています。
現状では、tomcat配下で管理する画像だとか? CSSなどへの要求もtomcat側へ送信されるため 本来は、apache側で処理した方が良い処理をtomcat側で実施しております。
そこで、画像データと CSSに関して、apache側で要求を横取りできないか? できれば、その処理の分はtomcatの処理が軽くなります。
その仕組みは、apacheのmod_rewriteを使用します。
モジュールの確認
apache2.0の場合
# /usr/local/apache2/bin/httpd -l で、「mod_so.c」 が表示される事を確認。
apache2.2の場合
# /usr/local/apache2/bin/httpd -M で、「so_module (static)」 が表示される事を確認する。
モジュールを準備する
apache2.2の場合
cd /usr/local/httpd-2.2.x/modules/mappers/ # コンパイル /usr/local/apache2/bin/apxs -c mod_rewrite.c # インストール /usr/local/apache2/bin/apxs -i -a -n rewrite mod_rewrite.la
定義ファイルの修正
# view /usr/local/apache2/conf/httpd.conf 以下の行が追加されている事を確認。 なければ追加。 LoadModule rewrite_module modules/mod_rewrite.so <IfModule mod_rewrite.c> RewriteEngine On RewriteLog "/tmp/rewrite_log" RewriteLogLevel 0 RewriteRule ^/Hoge/azurite/images/(.*)$ /images/azurite/images/$1 [L] RewriteRule ^/Hoge/bluelace/images/(.*)$ /images/bluelace/images/$1 [L] RewriteRule ^/Hoge/themes/(.*)$ /css/$1 [L] RewriteRule ^/Hoge/hoge/scripts/(.*)$ /scripts/$1 [L] </IfModule>
再起動
/usr/local/apache2/bin/apachectl restart /usr/local/apache2/bin/apachectl -k graceful <---- 利用者がいる場合の設定再読み込み
設定確認
# /usr/local/apache2/bin/httpd -M Loaded Modules: core_module (static) … … userdir_module (static) alias_module (static) so_module (static) php4_module (shared) rewrite_module (shared) ←組み込まれた! Syntax OK
Last modified
8 years ago
Last modified on Nov 7, 2016, 1:48:53 PM
Note:
See TracWiki
for help on using the wiki.