| 1 | [wiki:WikiStart 戻る] |
| 2 | |
| 3 | apacheとtomcatの連携設定では、http://ServerIP/hogeへのアクセスがあった場合に |
| 4 | 画像の取得要求をtomcatへ送信しています。 |
| 5 | |
| 6 | 現状では、tomcat配下で管理する画像だとか? CSSなどへの要求もtomcat側へ送信されるため |
| 7 | 本来は、apache側で処理した方が良い処理をtomcat側で実施しております。 |
| 8 | |
| 9 | そこで、画像データと CSSに関して、apache側で要求を横取りできないか? |
| 10 | できれば、その処理の分はtomcatの処理が軽くなります。 |
| 11 | |
| 12 | その仕組みは、apacheのmod_rewriteを使用します。 |
| 13 | |
| 14 | == モジュールの確認 == |
| 15 | apache2.0の場合 |
| 16 | {{{ |
| 17 | # /usr/local/apache2/bin/httpd -l |
| 18 | で、「mod_so.c」 が表示される事を確認。 |
| 19 | }}} |
| 20 | |
| 21 | apache2.2の場合 |
| 22 | {{{ |
| 23 | # /usr/local/apache2/bin/httpd -M |
| 24 | で、「so_module (static)」 が表示される事を確認する。 |
| 25 | }}} |
| 26 | |
| 27 | == モジュールを準備する == |
| 28 | |
| 29 | apache2.2の場合 |
| 30 | {{{ |
| 31 | cd /usr/local/httpd-2.2.x/modules/mappers/ |
| 32 | |
| 33 | # コンパイル |
| 34 | /usr/local/apache2/bin/apxs -c mod_rewrite.c |
| 35 | |
| 36 | # インストール |
| 37 | /usr/local/apache2/bin/apxs -i -a -n rewrite mod_rewrite.la |
| 38 | }}} |
| 39 | |
| 40 | == 定義ファイルの修正 == |
| 41 | |
| 42 | {{{ |
| 43 | # view /usr/local/apache2/conf/httpd.conf |
| 44 | |
| 45 | 以下の行が追加されている事を確認。 |
| 46 | なければ追加。 |
| 47 | |
| 48 | LoadModule rewrite_module modules/mod_rewrite.so |
| 49 | |
| 50 | <IfModule mod_rewrite.c> |
| 51 | RewriteEngine On |
| 52 | RewriteLog "/tmp/rewrite_log" |
| 53 | RewriteLogLevel 0 |
| 54 | RewriteRule ^/Hoge/azurite/images/(.*)$ /images/azurite/images/$1 [L] |
| 55 | RewriteRule ^/Hoge/bluelace/images/(.*)$ /images/bluelace/images/$1 [L] |
| 56 | RewriteRule ^/Hoge/themes/(.*)$ /css/$1 [L] |
| 57 | RewriteRule ^/Hoge/hoge/scripts/(.*)$ /scripts/$1 [L] |
| 58 | |
| 59 | </IfModule> |
| 60 | }}} |
| 61 | |
| 62 | |
| 63 | 再起動 |
| 64 | {{{ |
| 65 | /usr/local/apache2/bin/apachectl restart |
| 66 | /usr/local/apache2/bin/apachectl -k graceful <---- 利用者がいる場合の設定再読み込み |
| 67 | }}} |
| 68 | |
| 69 | 設定確認 |
| 70 | {{{ |
| 71 | # /usr/local/apache2/bin/httpd -M |
| 72 | Loaded Modules: |
| 73 | core_module (static) |
| 74 | … |
| 75 | … |
| 76 | userdir_module (static) |
| 77 | alias_module (static) |
| 78 | so_module (static) |
| 79 | php4_module (shared) |
| 80 | rewrite_module (shared) ←組み込まれた! |
| 81 | Syntax OK |
| 82 | }}} |
| 83 | |