狠狠撸

狠狠撸Share a Scribd company logo
Web サ バ勉 会ー 強
表 料発 資
自己 介紹
? id:oranie??
? @oranie
? 谷の 色のグル プ会社で、グル プ内でも余り知ら渋 緑 ー ー
れていないシステムでなんか色々やる なお仕事して簡単
います。
? 色のみんながよく知っているサ ビスの とかは全緑 ー 裏側
く知らないですw
担当 :範囲 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
ここだけでも一杯ですね!!! ><
以降は み んでいるモジュ ルの な 明です。読 込 ー 簡単 説
42 行目: LoadModule logio_module
modules/mod_logio.so
リクエスト に入力バイト数と出力バイト数とをロギング出来るモジュ ル毎 ー
される数字はリクエストのヘッダとレスポンスの本体を 反映した、 に記録 実際
ネットワ クで受け取ったバイト 。ー 値
入力では SSL/TLS? の前に、出力では SSL/TLS? の後に数えるので、
数字は暗号による 化も正しく反映したものになる。変
ログフォ マットにー %I と %O を追加。
%...I? リクエストとヘッダを含む、受け取ったバイト数。 0? にはならない。
%...O? ヘッダを含む、送信したバイト数。 0? にはならない。
このモジュ ルの使用にはー mod_log_config? モジュ ルが 必要。ー
43 行目: LoadModule env_module
modules/mod_env.so
CGI? スクリプト及び SSI? ペ ジに渡される 境 数をー 環 変 変
更する 能を提供するモジュ ル。機 ー
下 の な 定が使える。記 様 設
境 数を渡す。環 変
PassEnv?LD_LIBRARY_PATH?
境 定を 定環 設 設
SetEnv?SPECIAL_PATH?/foo/bin?
境 数を削除環 変
UnsetEnv?LD_LIBRARY_PATH?
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 は有効
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
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"
47 行目: LoadModule deflate_module
modules/mod_deflate.so
DEFLATE 出力フィルタを提供します。これはサ バからー
の出力を、ネットワ クを 通してクライアントに送る前にー
することを可能にします。圧縮
コンテンツを gzip とかで することで 域を 出来ま圧縮 帯 節約
す。
な 定例。簡単 設
数タイプのみ する圧縮
AddOutputFilterByType DEFLATE text/html text/plain
text/xml
48 行目: LoadModule headers_module
modules/mod_headers.so
このモジュ ルはー HTTP のリクエストヘッダと 答ヘッダを制御し、応
更するためのディレクティブを提供します。ヘッダを追加したり、 置変
き えたり、削除したりすることができます。換
リクエストを受け付けた 刻とリクエストを 理した を入れたヘッ時 処 時間
ダ、 MyHeader を 答に追加します。このヘッダはクライアントが サ応
バの 荷を直 的に知るためや、クライアントー 負 観 - サ バ の ボトルネー 間
ックを べるために使うことができます。調
Header add MyHeader "%D %t"
上 の 定では、以下のようなヘッダが 答に追加されることになりま記 設 応
す :
MyHeader: D=3775428 t=991424704447256
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" "-"
50 行目: LoadModule setenvif_module
modules/mod_setenvif.so
? リクエストの特 に基づいた 境 数の 定を可能にす徴 環 変 設
る。
? 212-223 行目に かい 定が っているのでそっちで細 設 載 ?
w??
51 行目: LoadModule mime_module
modules/mod_mime.so
? リクエストされたファイルの 子とファイルの振る舞拡張
い ( ハンドラとフィルタ ) 、内容 (MIME タイプ、言語
、文字セット、エンコ ディングー ) とを 付ける。関連
? 他の行で 定されているので はそちらで w設 詳細 ???
52 行目: LoadModule dav_module
modules/mod_dav.so
? 分散オ サリングとバ ジョン管理ー ー (WebDAV) 能機
? このモジュ ルはクラスー 1 とクラス 2 の WebDAV
(' ウェブベ スの分散オ サリングとバ ジョン管理ー ー ー ')
能を機 Apache に提供します。 この HTTP プロトコ
ルの により、リモ トのウェブサ バ上にある リ拡張 ー ー
ソ スやコレクションを 作成、移 、 、削除できー 動 複製
るようになります。
? 要は Apache を利用してサ バ上のファイル等が操作出ー
来るように。
? 123-125 行で 定されt(詳細設 ry w
53 行目: LoadModule status_module
modules/mod_status.so
サ バの活 状 と性能に する情 を提供するー 動 況 関 報
インフラエンジニアならみんな使っているよね!
表示される情 は報 :
* リクエストを っているワ カ の数扱 ー ー
* アイドル ( 注訳 : リクエストを っていない扱 ) ワ カ の数ー ー
* 各ワ カ の状 、ワ カ が ったリクエストの数、 ワ カ が送ったー ー 態 ー ー 扱 ー ー 総
バイト数
* アクセス数と バイト数総 総
* サ バが起 もしくは再起 された 刻と 作しているー 動 動 時 動 時間
* 平均の 1 秒あたりのリクエスト数、 1 秒あたりの送られたバイト数、 リク
エストあたりのバイト数
* 各ワ カ とー ー Apache 全体で使用されている CPU の割合
? 点のホストと 理されているリクエスト現時 処
54 行目: LoadModule autoindex_module
modules/mod_autoindex.so
? Unix の ls コマンドや Win32 の dir シェルコマンド
に似た ディレクトリインデックスを生成する
? 要はディレクトリに するリクエストする→そのディレ対
クトリ内のリ スが一 で れる。ー 覧 見
? 用では大体切っていると思いますw実運
? 普段 たり使うのはレポジトリぐらい?見
55 行目: LoadModule info_module
modules/mod_info.so
? サ バの 定の包括的な概 を提供するー 設 観
o Config 定とか設
? Apache 版 phpinfo みたいな物
?
? 多分、危ないので 用では切る物ですね!!実運
56 行目: LoadModule dav_fs_module
modules/mod_dav_fs.so
mod_dav のためのファイルシステムプロバイダ モジュ? ー
ル。
mod_dav のサ ビスを必要とします。ー mod_dav のサポー
トモジュ ルとして 作し、サ バファイルシステム上にー 動 ー
位置するリソ スへのアクセスを提供する。ー
多分、 mod_dav がリクエストの解 行→本モジュ ル釈?実 ー
が のファイルシステムにアクセス→内容を実際 mod_dav に
返すという感じ?
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 を 定すれば設
完了。
58 行目: LoadModule negotiation_module
modules/mod_negotiation.so
? 数用意されているドキュメントから、クライアントの複
能力に一番合った ドキュメントを する 能選択 機
? * タイプマップ (type-map ハンドラで われるファイ扱
ル ) 。これは variants を含んでいるファイルを明示的
に指定します。
? * MultiViews の探索 (MultiViews Option で有 になり効
ます ) 。 サ バが暗 の内にファイル名のパタ ンマッー 黙 ー
チを行ない、 その 果から します。結 選択
59 行目: LoadModule dir_module
modules/mod_dir.so
? 「最後のスラッシュ」のリダイレクトと、ディレクトリ
のインデックスファイルを う 能を提供する扱 機
? 例:
? http://example.com へのアクセス→ http://example.com/
にリダイレクト
? http://example.com/ へのアクセス→ / に 定したリソ設 ー
ス( index.html など)があればそれを表示、
? ければディレクトリリストを表示無
? mod_autoindex.so と めて 作を指定する に使える。絡 動 時

More Related Content

奥别产サーバ勉强会 発表资料

  • 1. Web サ バ勉 会ー 強 表 料発 資
  • 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 と めて 作を指定する に使える。絡 動 時