奥别产サーバ勉强会 発表资料
- 2. 自己 介紹
? id:oranie??
? @oranie
? 谷の 色のグル プ会社で、グル プ内でも余り知ら渋 緑 ー ー
れていないシステムでなんか色々やる なお仕事して簡単
います。
? 色のみんながよく知っているサ ビスの とかは全緑 ー 裏側
く知らないですw
- 3. 担当 :範囲 42-59 行→ module み み(読 込 2 )
? LoadModule?logio_module?modules/mod_logio.so
? LoadModule?env_module?modules/mod_env.so
? LoadModule?ext_filter_module?modules/mod_ext_filter.so
? LoadModule?mime_magic_module?modules/mod_mime_magic.so
? LoadModule?expires_module?modules/mod_expires.so
? LoadModule?deflate_module?modules/mod_deflate.so
? LoadModule?headers_module?modules/mod_headers.so
? LoadModule?usertrack_module?modules/mod_usertrack.so
? LoadModule?setenvif_module?modules/mod_setenvif.so
? LoadModule?mime_module?modules/mod_mime.so
? LoadModule?dav_module?modules/mod_dav.so
? LoadModule?status_module?modules/mod_status.so
? LoadModule?autoindex_module?modules/mod_autoindex.so
? LoadModule?info_module?modules/mod_info.so
? LoadModule?dav_fs_module?modules/mod_dav_fs.so
? LoadModule?vhost_alias_module?modules/mod_vhost_alias.so
? LoadModule?negotiation_module?modules/mod_negotiation.so
? LoadModule?dir_module?modules/mod_dir.so
ここだけでも一杯ですね!!! ><
以降は み んでいるモジュ ルの な 明です。読 込 ー 簡単 説
- 4. 42 行目: LoadModule logio_module
modules/mod_logio.so
リクエスト に入力バイト数と出力バイト数とをロギング出来るモジュ ル毎 ー
される数字はリクエストのヘッダとレスポンスの本体を 反映した、 に記録 実際
ネットワ クで受け取ったバイト 。ー 値
入力では SSL/TLS? の前に、出力では SSL/TLS? の後に数えるので、
数字は暗号による 化も正しく反映したものになる。変
ログフォ マットにー %I と %O を追加。
%...I? リクエストとヘッダを含む、受け取ったバイト数。 0? にはならない。
%...O? ヘッダを含む、送信したバイト数。 0? にはならない。
このモジュ ルの使用にはー mod_log_config? モジュ ルが 必要。ー
- 5. 43 行目: LoadModule env_module
modules/mod_env.so
CGI? スクリプト及び SSI? ペ ジに渡される 境 数をー 環 変 変
更する 能を提供するモジュ ル。機 ー
下 の な 定が使える。記 様 設
境 数を渡す。環 変
PassEnv?LD_LIBRARY_PATH?
境 定を 定環 設 設
SetEnv?SPECIAL_PATH?/foo/bin?
境 数を削除環 変
UnsetEnv?LD_LIBRARY_PATH?
- 6. 44 行目: LoadModule ext_filter_module
modules/mod_ext_filter.so
レスポンスのボディをクライアントに送る前に外部プログラムで 理するモジュ ル。処 ー
欠点: Apache?API? 向けに かれた書 Apache? サ バプロセス内で 行される 用のフィルタよりもー 実 専
ずっと い遅
でも以下の利点が。
*? ずっとシンプルなプログラミングモデル
*? プログラムが 入力から んで 出力に くものである限り、 どんなプログラム言 やスク標準 読 標準 書 語
リプト言 でも使うことができる語
*? 既存のプログラムを 更することなく変 Apache? のフィルタとして 使うことができる
sed? を使って 答中のテキストを置 する応 換
ExtFilterDefine?fixtext?mode=output?intype=text/html?
cmd="/bin/sed?s/verdana/arial/g"
<Location?/>
SetOutputFilter?fixtext
</Location>?
すぎて 用では しくても、フィルタのプロトタイプ用の 境としては遅 実運 厳 環 mod_ext_filter は有効
- 7. 45 行目: LoadModule mime_magic_module
modules/mod_mime_magic.so
mod_mime (サ バ でファイル名からファイル タイプを判断し、 理用のハンドラに 付けできます。 )で分からなー ー ? 処 関連
い に、時
Unix file(1) コマンドがする同じ方法の、そのコンテンツの 2 、 3 バイトを ることによって、見
ファイルの MIME タイプを 定するために使われます。決
→ コンテンツが何であるかを 分けるために、ファイルのコンテンツから見 "magic numbers" とその他のヒントを使う
# Frame
0 string <MakerFile application/x-frame
0 string <MIFFile application/x-frame
0 string <MakerDictionary application/x-frame
0 string <MakerScreenFon application/x-frame
0 string <MML application/x-frame
0 string <Book application/x-frame
0 string <Maker application/x-frame
# MS-Word
0 string 3760670043 application/msword
0 string 320317021340241261 application/msword
0 string 333245-000 application/msword
- 8. 46 行目: LoadModule expires_module
modules/mod_expires.so
ユ ザの指定した基 に基づいたー 準 Expires と Cache-Control
HTTP ヘッダの生成
このモジュ ルはサ バ 答のー ー 応 Expires HTTP ヘッダ と Cache-
Control ヘッダの max-age ディレクティブの 定を制御します。設
元のファイルが作成された 刻または クライアントのアクセス時 時
刻のどちらかに基づいて期限切れ日を 定することができます。設
ExpiresByType text/html "access plus 1 month 15 days 2 hours"
ExpiresByType image/gif "modification plus 5 hours 3 minutes"
- 9. 47 行目: LoadModule deflate_module
modules/mod_deflate.so
DEFLATE 出力フィルタを提供します。これはサ バからー
の出力を、ネットワ クを 通してクライアントに送る前にー
することを可能にします。圧縮
コンテンツを gzip とかで することで 域を 出来ま圧縮 帯 節約
す。
な 定例。簡単 設
数タイプのみ する圧縮
AddOutputFilterByType DEFLATE text/html text/plain
text/xml
- 10. 48 行目: LoadModule headers_module
modules/mod_headers.so
このモジュ ルはー HTTP のリクエストヘッダと 答ヘッダを制御し、応
更するためのディレクティブを提供します。ヘッダを追加したり、 置変
き えたり、削除したりすることができます。換
リクエストを受け付けた 刻とリクエストを 理した を入れたヘッ時 処 時間
ダ、 MyHeader を 答に追加します。このヘッダはクライアントが サ応
バの 荷を直 的に知るためや、クライアントー 負 観 - サ バ の ボトルネー 間
ックを べるために使うことができます。調
Header add MyHeader "%D %t"
上 の 定では、以下のようなヘッダが 答に追加されることになりま記 設 応
す :
MyHeader: D=3775428 t=991424704447256
- 11. 49 行目: LoadModule usertrack_module
modules/mod_usertrack.so
クッキ を自 的に埋め むことができます。ー 動 込
CustomLog ディレクティブにログに取る情 を追加します。報
"%{cookie}i" - サ バが受け取ったクッキ のー ー 値
"%{Set-cookie}o" - サ バがセットしたクッキ のー ー 値
CustomLog logs/clickstream "%h %l %u %t "%r" %>s %b "%
{Referer}i" "%{User-Agent}i" "%{cookie}i" "%{Set-cookie}o""
***.***.***.*** - - [24/Dec/2004:16:44:23 +0900] "GET / HTTP/1.0"
304 - "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;
SV1)" "Apache=210.143.35.15.25121105725090102" "-"
- 12. 50 行目: LoadModule setenvif_module
modules/mod_setenvif.so
? リクエストの特 に基づいた 境 数の 定を可能にす徴 環 変 設
る。
? 212-223 行目に かい 定が っているのでそっちで細 設 載 ?
w??
- 13. 51 行目: LoadModule mime_module
modules/mod_mime.so
? リクエストされたファイルの 子とファイルの振る舞拡張
い ( ハンドラとフィルタ ) 、内容 (MIME タイプ、言語
、文字セット、エンコ ディングー ) とを 付ける。関連
? 他の行で 定されているので はそちらで w設 詳細 ???
- 14. 52 行目: LoadModule dav_module
modules/mod_dav.so
? 分散オ サリングとバ ジョン管理ー ー (WebDAV) 能機
? このモジュ ルはクラスー 1 とクラス 2 の WebDAV
(' ウェブベ スの分散オ サリングとバ ジョン管理ー ー ー ')
能を機 Apache に提供します。 この HTTP プロトコ
ルの により、リモ トのウェブサ バ上にある リ拡張 ー ー
ソ スやコレクションを 作成、移 、 、削除できー 動 複製
るようになります。
? 要は Apache を利用してサ バ上のファイル等が操作出ー
来るように。
? 123-125 行で 定されt(詳細設 ry w
- 15. 53 行目: LoadModule status_module
modules/mod_status.so
サ バの活 状 と性能に する情 を提供するー 動 況 関 報
インフラエンジニアならみんな使っているよね!
表示される情 は報 :
* リクエストを っているワ カ の数扱 ー ー
* アイドル ( 注訳 : リクエストを っていない扱 ) ワ カ の数ー ー
* 各ワ カ の状 、ワ カ が ったリクエストの数、 ワ カ が送ったー ー 態 ー ー 扱 ー ー 総
バイト数
* アクセス数と バイト数総 総
* サ バが起 もしくは再起 された 刻と 作しているー 動 動 時 動 時間
* 平均の 1 秒あたりのリクエスト数、 1 秒あたりの送られたバイト数、 リク
エストあたりのバイト数
* 各ワ カ とー ー Apache 全体で使用されている CPU の割合
? 点のホストと 理されているリクエスト現時 処
- 16. 54 行目: LoadModule autoindex_module
modules/mod_autoindex.so
? Unix の ls コマンドや Win32 の dir シェルコマンド
に似た ディレクトリインデックスを生成する
? 要はディレクトリに するリクエストする→そのディレ対
クトリ内のリ スが一 で れる。ー 覧 見
? 用では大体切っていると思いますw実運
? 普段 たり使うのはレポジトリぐらい?見
- 17. 55 行目: LoadModule info_module
modules/mod_info.so
? サ バの 定の包括的な概 を提供するー 設 観
o Config 定とか設
? Apache 版 phpinfo みたいな物
?
? 多分、危ないので 用では切る物ですね!!実運
- 18. 56 行目: LoadModule dav_fs_module
modules/mod_dav_fs.so
mod_dav のためのファイルシステムプロバイダ モジュ? ー
ル。
mod_dav のサ ビスを必要とします。ー mod_dav のサポー
トモジュ ルとして 作し、サ バファイルシステム上にー 動 ー
位置するリソ スへのアクセスを提供する。ー
多分、 mod_dav がリクエストの解 行→本モジュ ル釈?実 ー
が のファイルシステムにアクセス→内容を実際 mod_dav に
返すという感じ?
- 19. 57 行目: LoadModule vhost_alias_module
modules/mod_vhost_alias.so
サブドメインとかフォ スレベルドメインが 的に 定できる。ー 動 設
VirtualDocumentRoot /home/%2/svn_work/%1/httpd
VirtualScriptAlias /home/%2/svn_work/%1/cgi-bin
と 定することで設
http://hogehoge.fugafuga.example.com/
にアクセスすると
/home/fugafuga/svn_work/hogehoge/httpd
がドキュメントル トになる。ー
新たにサイトを やす にはディレクトリを作成して増 際 DNS を 定すれば設
完了。
- 20. 58 行目: LoadModule negotiation_module
modules/mod_negotiation.so
? 数用意されているドキュメントから、クライアントの複
能力に一番合った ドキュメントを する 能選択 機
? * タイプマップ (type-map ハンドラで われるファイ扱
ル ) 。これは variants を含んでいるファイルを明示的
に指定します。
? * MultiViews の探索 (MultiViews Option で有 になり効
ます ) 。 サ バが暗 の内にファイル名のパタ ンマッー 黙 ー
チを行ない、 その 果から します。結 選択
- 21. 59 行目: LoadModule dir_module
modules/mod_dir.so
? 「最後のスラッシュ」のリダイレクトと、ディレクトリ
のインデックスファイルを う 能を提供する扱 機
? 例:
? http://example.com へのアクセス→ http://example.com/
にリダイレクト
? http://example.com/ へのアクセス→ / に 定したリソ設 ー
ス( index.html など)があればそれを表示、
? ければディレクトリリストを表示無
? mod_autoindex.so と めて 作を指定する に使える。絡 動 時