Apache

Last-modified: 2009-11-16 (月) 09:48:11

ディレクティブとは、Apacheの動作をコントロールする命令のこと。

Apacheのインストール

  • インストーラの入手
  • インストーラ
    • apache_2.2.11-win32-x86-openssl-0.9.8i.msi
  • インストール
    Network Domainlocalhost
    Server Domainlocalhost
    Administrator's Address適当アドレス
    Port80
    ディレクトリC:\Program Files\Apache Software Foundation\Apache2.2
  • Apacheへの接続
    • 最近の(?)は、「It works!」と表示されるんですね。

Apacheの起動

Apache2.2系のドキュメント

http://httpd.apache.org/docs/2.2/

Apache2.2の新機能

MPM(Multi-Processing Module)について

Apache2.2

APR(Apache Portable Module)

  • プラットフォーム依存部分を吸収し、一貫したAPIを提供するために利用されているライブラリ。OSとソフトウェアの間でOSなどの環境の違いを吸収するAPIを提供する。真のクロスプラットフォームなプログラムを作成できる。

http://www.atmarkit.co.jp/flinux/rensai/apache16/apache16b.html
http://www.atmarkit.co.jp/flinux/rensai/apache2_03/apache03b.html

apachectlコマンド

# apachectl -v バージョン表示

Server version: Apache/2.2.3
Server built:   Sep  3 2009 17:37:31

# apachectl -V コンパイル設定の表示

Server version: Apache/2.2.3
Server built:   Sep  3 2009 17:37:31
Server's Module Magic Number: 20051115:3
Server loaded: APR 1.2.7, APR-Util 1.2.7
Complie Using: APR 1.2.7, APR-Util 1.2.7
Architecture:  64-bit
Server MPM:    Prefork
  threaded:    no
    forked:    yes (variable process count)
Server compiled with....
 -D APACHE_MPM_DIR="server/mpm/prefork"
 -D DYNAMIC_MODULE_LIMIT=128
 -D HTTPD_ROOT="/etc/httpd"
 -D SERVER_CONFIG_FILE="conf/httpd.conf"

(一部省略してます。)

  • MPMとは
    • マルチプロセッシングモジュール。
    • Apache2.0以降で、Apacheの中心部分がMPMとしてモジュール化された。いくつかのMPMを選択することが出来る。
    • MPMの選択は、Webサイトの規模やOSなどによって異なる。Linuxの既定は、prefork。
  • MPMの種類
    • prefork
      • あらかじめ複数のプロセスを用意しておいて、クライアントからのリクエストを待つ。
      • 用意したプロセス数を超えるリクエストが来た場合は、新たなプロセスを生成する。
    • worker
      • クライアントのリクエストに対して、プロセスではなくスレッドで対応する動作モデル。
      • 複数のプロセス内に複数のスレッドを待機させる。
      • コンテキストスイッチの発生を抑えるので、preforkより高いパフォーマンスを期待できる。
      • 一方で、1つのスレッドの不具合が同じプロセスの他のスレッドに影響するために、perforkよりも安定性に欠ける。

ネタ元