From e8ec7aa8e38a93f5b034ac74cebce5de23710317 Mon Sep 17 00:00:00 2001 From: hongbotian Date: Mon, 30 Nov 2015 01:45:08 -0500 Subject: upload http JIRA: BOTTLENECK-10 Change-Id: I7598427ff904df438ce77c2819ee48ac75ffa8da Signed-off-by: hongbotian --- .../docs/manual/mod/mpm_common.html.ja.utf8 | 956 +++++++++++++++++++++ 1 file changed, 956 insertions(+) create mode 100644 rubbos/app/httpd-2.0.64/docs/manual/mod/mpm_common.html.ja.utf8 (limited to 'rubbos/app/httpd-2.0.64/docs/manual/mod/mpm_common.html.ja.utf8') diff --git a/rubbos/app/httpd-2.0.64/docs/manual/mod/mpm_common.html.ja.utf8 b/rubbos/app/httpd-2.0.64/docs/manual/mod/mpm_common.html.ja.utf8 new file mode 100644 index 00000000..7475343e --- /dev/null +++ b/rubbos/app/httpd-2.0.64/docs/manual/mod/mpm_common.html.ja.utf8 @@ -0,0 +1,956 @@ + + + +mpm_common - Apache HTTP サーバ + + + + + + +
<-
+ +
+

Apache MPM 共通ディレクティブ

+
+

Available Languages:  de  | + en  | + es  | + ja  | + tr 

+
+
This translation may be out of date. Check the + English version for recent changes.
+ +
説明:二つ以上のマルチプロセッシングモジュール (MPM) +で実装されているディレクティブのコレクション
ステータス:MPM
+
+ + +
top
+

AcceptMutex ディレクティブ

+ + + + + + + +
説明:複数の子プロセスがネットワークソケットでリクエストを +accept しようとしているときに、Apache がそれらの子プロセスを直列化するために +使う方法
構文:AcceptMutex default|method
デフォルト:AcceptMutex default
コンテキスト:サーバ設定ファイル
ステータス:MPM
モジュール:leader, perchild, prefork, threadpool, worker
+

AcceptMutex ディレクティブは、 + ネットワークソケットのリクエストを accept しようとしている複数の子プロセスを + Apache が直列化するために使う方法を設定します。 + Apache 2.0 以前は、このメソッドはコンパイル時にのみ選択できました。 + 最適な方法は、アーキテクチャやプラットホームに大きく依存します。 + 詳細に関しては、性能のチューニング + ドキュメントをご覧下さい。

+ +

このディレクティブが Default + に設定されていれば、コンパイル時に選択されたデフォルト値が使われます。 + 他の使用可能なメソッドの一覧は下にあります。 + 全てのメソッドが全てのプラットホームで使用可能であるわけではない、 + ということに注意してください。 + 使用可能でないメソッドが指定された場合は、 + 使用可能なメソッドの一覧を含んだメッセージが + エラーログに出力されます。

+ +
+
flock
+
LockFile + ディレクティブで定義したファイルのロックに、 + flock(2) システムコールを使います。
+ +
fcntl
+
LockFile + ディレクティブで定義したファイルのロックに、 + fcntl(2) システムコールを使います。
+ +
posixsem
+
排他処理の実装に POSIX 互換セマフォを使用します
+ +
pthread
+
POSIX Threads (PThreads) 規格で実装されている + POSIX 排他処理を使います。
+ +
sysvsem
+
排他処理の実装に SySV 形式のセマフォを使います。
+
+ +

コンパイル時にシステムのデフォルトに選ばれたものが何かを見たい場合は、 + LogLeveldebug + に設定するとよいでしょう。デフォルトの AcceptMutex + が ErrorLog に書き込まれます。

+ +
+
top
+

BS2000Account ディレクティブ

+ + + + + + + +
説明:BS2000 での非特権アカウントを定義する
構文:BS2000Account account
コンテキスト:サーバ設定ファイル
ステータス:MPM
モジュール:perchild, prefork
互換性:BS2000 でのみ利用可能
+

BS2000Account ディレクティブは + BS2000 ホストでのみ使用できます。 + 非特権の Apache サーバユーザ (Userで設定) + のためのアカウント番号を定義するのに使用します。 + BS2000 POSIX サブシステムに対して (下位層の sub-LOGON 実行時に + BS2000 タスク環境を変更するために) 必要で、 + CGI スクリプトから、特権アカウントのリソース、 + 一般的には SYSROOT にアクセスされるのを防ぎます。

+ +

Note

+

使用できる BS2000Account は一つだけです。

+
+ +

参照

+ +
+
top
+

CoreDumpDirectory ディレクティブ

+ + + + + + + +
説明:Apache がコアダンプする前に移動を試みるディレクトリ +
構文:CoreDumpDirectory directory
デフォルト:デフォルトの設定は説明文を読んでください
コンテキスト:サーバ設定ファイル
ステータス:MPM
モジュール:beos, leader, mpm_winnt, perchild, prefork, threadpool, worker
+

Apache がコアダンプする前に移動を試みるディレクトリを制御します。 + デフォルト値は ServerRoot + ディレクトリですが、このディレクトリはサーバの実行されているユーザ権限で + 書き込み可能であるべきではないので、通常はコアダンプは書き込まれません。 + デバッグのためにコアダンプが必要であれば、 + このディレクティブを使って他の位置にコアダンプを書き出すようにできます。

+ +

Linux でのコアダンプ

+

Apache が root として起動されて、別のユーザの権限に以降した場合は + Linux のカーネルはディレクトリがプロセスの権限で書き込み可能な場合でさえも + コアダンプを無効にします。Apache (2.0.46 以降) は + Linux 2.4 以降ではコアダンプを行なうように再指定しますが、それは + CoreDumpDirectory を明示的に設定したときに + 限ります。

+
+ +
+
top
+

EnableExceptionHook ディレクティブ

+ + + + + + + + +
説明:クラッシュの後に例外ハンドラを実行するフックを有効にする
構文:EnableExceptionHook On|Off
デフォルト:EnableExceptionHook Off
コンテキスト:サーバ設定ファイル
ステータス:MPM
モジュール:leader, perchild, prefork, threadpool, worker
互換性:2.0.49 以降
+

安全上の理由から、--enable-exception-hook configure + オプションを有効にした場合にのみ、このディレクティブを利用できます。 + 外部モジュールをプラグインして、子がクラッシュした後に何か実行できるような + フックを有効にします。

+ +

このような外部モジュールは、既に二つ存在していて、 + mod_whatkilledusmod_backtrace + がこのフックを活用します。これらの詳細については Jeff Trawick + さんの EnableExceptionHook site を参照してください。

+ +
+
top
+

Group ディレクティブ

+ + + + + + + + +
説明:リクエストに応答する際に所属するグループ
構文:Group unix-group
デフォルト:Group #-1
コンテキスト:サーバ設定ファイル
ステータス:MPM
モジュール:beos, leader, mpmt_os2, perchild, prefork, threadpool, worker
互換性:Apache 2.0 以降で、グローバル設定でのみ有効です。
+

Group ディレクティブで、 + リクエストに応答する際に所属しておくグループを設定します。 + このディレクティブを使用するためには、 + サーバは最初に root 権限で起動されている必要があります。 + 非 root ユーザでサーバを起動した場合は、指定したグループに変化できずに、 + 結果的に起動したユーザの属するグループで実行されることになります。 + unix-group は次のうちのいずれかです:

+ +
+
グループ名
+
グループを名前で参照します
+ +
# に続いてグループ番号
+
グループをを番号で参照します。
+
+ +

+ Group www-group +

+ +

サーバを実行するために特定の新しいグループを設定することを + お薦めします。nobody を使用する管理者もいますが、 + 可能であったり望ましい訳では必ずしもありません。

+ +

セキュリティ

+

正確にどんなことをやっているのか、その危険性を知らないで、 + Group (や User) を + root に 設定しないでください。

+
+ +

特記事項: このディレクティブを + <VirtualHost> + で使用することはサポートされなくなりました。Apache 2.0 で + suexec を設定したい場合は、 + SuexecUserGroup + を使用してください。

+ +

注意

+

Group ディレクティブは + beosmpmt_os2 MPM + にも存在しますが、実質的に無効で、互換性のためだけに存在します。

+
+ +
+
top
+

Listen ディレクティブ

+ + + + + + + +
説明:サーバが listen するIP アドレスとポート番号
構文:Listen [IP-address:]portnumber
コンテキスト:サーバ設定ファイル
ステータス:MPM
モジュール:beos, leader, mpm_netware, mpm_winnt, mpmt_os2, perchild, prefork, threadpool, worker
互換性:Apache 2.0 から必要なディレクティブ
+

Listen ディレクティブは Apache + が特定の IP アドレスやポート番号だけを listen するように指定します。 + デフォルトでは全ての IP インターフェースのリクエストに応答します。 + Listen ディレクティブは + 現在は必須のディレクティブとなりました。 + もし設定ファイルになければ、サーバは起動に失敗します。 + これは以前のバージョンの Apache から変更のあった部分です。

+ +

Listen ディレクティブでは、特定のポートあるいは + アドレスとポートの組み合わせから入ってくるリクエストに対して + 応答するように指定します。 + もしポート番号だけが指定された場合は、サーバは全インターフェースの + 指定されたポート番号に対して listen します。 + IP アドレスがポートとともに指定された場合は、 + サーバは指定されたポートとインターフェースに対して listen + します。

+ +

複数のアドレスとポートに対して listen するように、 + 複数の Listen ディレクティブを使うこともできます。 + サーバは列挙されたアドレスとポート全てからのリクエストに対して + 応答します。

+ +

例えば、サーバが 80 番ポートと 8000 番ポートの両方の + コネクションを受け入れる場合は、次のようにします。

+ +

+ Listen 80
+ Listen 8000 +

+ +

二つの特定のインターフェースとポート番号からのコネクションを + 受け入れるようにするには、次のようにします。

+ +

+ Listen 192.170.2.1:80
+ Listen 192.170.2.5:8000 +

+ +

IPv6 アドレスは角括弧で囲まなければなりません。 + 例えば次の例のようにです。

+ +

+ Listen [2001:db8::a00:20ff:fea7:ccea]:80 +

+ +

エラー条件

+ 同一 IP アドレスとポートの組に、複数の Listen + ディレクティブを指定してしまうと、'Address already in use' + というエラーメッセージを受けることになります。 +
+ + +

参照

+ +
+
top
+

ListenBackLog ディレクティブ

+ + + + + + + +
説明:保留状態のコネクションのキューの最大長
構文:ListenBacklog backlog
デフォルト:ListenBacklog 511
コンテキスト:サーバ設定ファイル
ステータス:MPM
モジュール:beos, leader, mpm_netware, mpm_winnt, mpmt_os2, perchild, prefork, threadpool, worker
+

保留状態のコネクションのキューの最大長です。 + 一般的には調整する必要はありませんし、調整は望ましくありません。 + しかし、TCP SYN フラッドアタックの状況下におかれる場合に、 + 増やした方が望ましいシステムもあります。 + listen(2) システムコールのバックログパラメータを + ご覧下さい。

+ +

この値は OS により、小さな数に抑えられます。 + 値は OS 毎に異なっています。また多くの OS では、 + バックログとして指定されている値ちょうどまで使っているわけではなく、 + 設定されている値に基づいて (通常は設定値よりも大きな値を) + 使っていることに注意してください。

+ +
+
top
+

LockFile ディレクティブ

+ + + + + + + +
説明:受付を直列化するためのロックファイルの位置
構文:LockFile filename
デフォルト:LockFile logs/accept.lock
コンテキスト:サーバ設定ファイル
ステータス:MPM
モジュール:leader, perchild, prefork, threadpool, worker
+

AcceptMutex + が fcntlflock + に設定されて使用されている場合に、使用されるロックファイルへのパスを + LockFile ディレクティブで設定します。 + このディレクティブは通常はそのままにしておきます。 + 主に logs ディレクトリが NFS + でマウントされている場合などに値を変えます。 + なぜならロックファイルはローカルディスクに + 保存されなければならないからです。 + メインサーバプロセスの PID がファイル名に自動的に付加されます。

+ +

セキュリティ

+

/var/tmp + といった、誰でも書き込めるディレクトリにファイルを + 置かない方がよいです。なぜなら、サーバが起動時に作成する + ロックファイルの作成自体を妨害することによって、 + 誰でもサービス拒否アタックを引き起こすことができるからです。

+
+ +

参照

+ +
+
top
+

MaxClients ディレクティブ

+ + + + + + + +
説明:リクエストに応答するために作成される +子プロセスの最大個数
構文:MaxClients number
デフォルト:詳細は使用法をご覧下さい。
コンテキスト:サーバ設定ファイル
ステータス:MPM
モジュール:beos, leader, prefork, threadpool, worker
+

MaxClients ディレクティブは、 + 応答することのできる同時リクエスト数を設定します。 + MaxClients 制限数を越えるコネクションは通常、 + ListenBacklog + ディレクティブで設定した数までキューに入ります。 + 他のリクエストの最後まで達して子プロセスが空くと、 + 次のコネクションに応答します。

+ +

スレッドを用いないサーバ (すなわち prefork) + では、MaxClients + は、リクエストに応答するために起動される + 子プロセスの最大数となります。 + デフォルト値は 256 で、これを増加させたい場合は、 + ServerLimit + の値も増加させる必要があります。

+ +

スレッドを用いるサーバや、ハイブリッドサーバ (すなわち + beos worker) + では、MaxClients + は、クライアントに応答できるスレッドの総数を制限します。 + beos でのデフォルト値は 50 です。 + ハイブリッド MPM でのデフォルト値は 16 + ServerLimit + の 25 倍 (ThreadsPerChild) です。 + MaxClients + を 16 プロセス以上必要な値まで増加させたい場合は、 + ServerLimit + も増加させる必要があります。

+ +
+
top
+

MaxMemFree ディレクティブ

+ + + + + + + +
説明:free() が呼ばれない限り、 +主メモリアロケータが保持し続けられるメモリの最大量
構文:MaxMemFree KBytes
デフォルト:MaxMemFree 0
コンテキスト:サーバ設定ファイル
ステータス:MPM
モジュール:beos, leader, mpm_netware, prefork, threadpool, worker, mpm_winnt
+

MaxMemFree ディレクティブは + free() が呼ばれない限り、 + 主アロケータが保持できる空のメモリの最大値をキロバイト単位で設定します。 + 設定されていないか、零に設定されているときは、無制限になります。

+ +
+
top
+

MaxRequestsPerChild ディレクティブ

+ + + + + + + +
説明:個々の子サーバが稼働中に扱うリクエスト数の上限
構文:MaxRequestsPerChild number
デフォルト:MaxRequestsPerChild 10000
コンテキスト:サーバ設定ファイル
ステータス:MPM
モジュール:leader, mpm_netware, mpm_winnt, mpmt_os2, perchild, prefork, threadpool, worker
+

MaxRequestsPerChild ディレクティブは、 + 個々の子サーバプロセスが扱うことのできるリクエストの制限数を + 設定します。MaxRequestsPerChild + 個のリクエストの後に、子プロセスは終了します。 + MaxRequestsPerChild0 + に設定されている場合は、プロセスは期限切れにより終了することはありません。

+ +

その他のデフォルト値

+

mpm_netwarempm_winnt + でのデフォルト値は 0 です。

+
+ +

MaxRequestsPerChild + を非ゼロに制限することには、二つの利点があります:

+ +
    +
  • (偶発的な) メモリーリークが起こった場合に + プロセスが消費するメモリの総量を制限できる
  • + +
  • プロセスに有限のライフタイムを設定することで、 + サーバ負荷が下がった時にプロセス数を少なくすることができる
  • +
+ +

+

KeepAlive リクエストの場合は、 + 一つ目のリクエストだけがこの制限に該当します。 + 実効的には、一つの子プロセスあたりのコネクション数を + 制限するように挙動が変化します。

+
+ +
+
top
+

MaxSpareThreads ディレクティブ

+ + + + + + + +
説明:アイドルスレッドの最大数
構文:MaxSpareThreads number
デフォルト:詳細は使用法をご覧下さい。
コンテキスト:サーバ設定ファイル
ステータス:MPM
モジュール:beos, leader, mpm_netware, mpmt_os2, perchild, threadpool, worker
+

アイドルなスレッドの最大数です。異なる MPM ではそれぞれ、 + このディレクティブは異なる取り扱われ方をされます。

+ +

perchild では、 + デフォルトは MaxSpareThreads 10 です。 + この MPM はアイドルスレッド数を、それぞれの子プロセスごとに監視します。 + 子プロセスにアイドルスレッドが多すぎる場合は、 + サーバはその子プロセスに含まれるスレッドを終了し始めます。

+ +

worker, leader, + threadpool では、 + デフォルトは MaxSpareThreads 250 です。 + この MPM はアイドルスレッド数をサーバ全体で監視します。 + サーバでアイドルスレッド数が多すぎる場合は、 + この数字よりも少ない数になるまで子プロセスを終了します。

+ +

mpm_netware では、 + デフォルトは MaxSpareThreads 100 です。 + この MPM はシングルプロセスで実行されますので、 + スペアスレッド数もサーバ全体で勘定します。

+ +

beosmpmt_os2 は + mpm_netware と似た挙動をします。 + beos でのデフォルト値は MaxSpareThreads 50 + です。mpmt_os2 でのデフォルト値は 10 + です。

+ +

制限事項

+

MaxSpareThreads の取る値には制限があります。 + Apache は次の規則に従って自動的に補正します。

+ +
+ +

参照

+ +
+
top
+

MinSpareThreads ディレクティブ

+ + + + + + + +
説明:リクエストに応答することのできる +アイドルスレッド数の最小数
構文:MinSpareThreads number
デフォルト:詳細は使用方法をご覧下さい。
コンテキスト:サーバ設定ファイル
ステータス:MPM
モジュール:beos, leader, mpm_netware, mpmt_os2, perchild, threadpool, worker
+

リクエストに応答するスレッド数の最小値です。 + 異なる MPM ではそれぞれ、 + このディレクティブは異なる取り扱われ方をします。

+ +

perchild では、 + デフォルトは MinSpareThreads 5 で、 + アイドルスレッド数を子プロセス毎に監視します。 + もし子プロセスに十分な数のスレッドがなければ、 + サーバはその子プロセスに新しいスレッドを作り始めます。 + ですから、NumServers + を 10 に、MinSpareThreads を + 5 にした場合は、最小でも 50 のアイドルスレッドが + システム上にあることになります。

+ +

worker, leader, + threadpool では、 + デフォルトは MinSpareThreads 75 で、 + アイドルスレッド数をサーバ全体で監視します。 + もしサーバに十分な数のアイドルスレッドがなければ、 + アイドルスレッド数がこの数よりも大きくなるまで + 新しい子プロセスが生成されます。

+ +

mpm_netware では、 + デフォルトは MinSpareThreads 10 で、 + シングルプロセス MPM ですので、サーバ全体で管理されます。

+ +

beosmpmt_os2 は、 + mpm_netwareによく似ています。 + beos でのデフォルトは MinSpareThreads 1 + です。mpmt_os2 でのデフォルトは + 5 です。

+ +

参照

+ +
+
top
+

PidFile ディレクティブ

+ + + + + + + +
説明:デーモンのプロセス ID +をサーバが記録するためのファイル
構文:PidFile filename
デフォルト:PidFile logs/httpd.pid
コンテキスト:
ステータス:MPM
モジュール:beos, leader, mpm_winnt, mpmt_os2, perchild, prefork, threadpool, worker
+

PidFile ディレクティブで、 + デーモンのプロセス ID をサーバが記録するファイルを設定します。 + ファイル名が絶対パスでない場合は、 + ServerRoot + からの相対的なものとして扱われます。

+ +

+ PidFile /var/run/apache.pid +

+ +

サーバが ErrorLog + や TransferLog + を閉じて開き直したり、設定ファイルを + 再読込したりさせるために、サーバにシグナルを送ることができると + 便利なことがあります。 + これは SIGHUP (kill -1) シグナルを PidFile + に書かれているプロセス ID に送ることでできます。

+ +

PidFile には、ログファイルの設置位置や + セキュリティ + と全く同じ注意点があります。

+ +

注意

+

Apache 2 では、 + apachectl + スクリプトのみを使用してサーバの (再) 起動や停止を + 行なうことを推奨しています。

+
+ +
+
top
+

ScoreBoardFile ディレクティブ

+ + + + + + + +
説明:子プロセスと連携するためのデータを保存する +ファイルの位置
構文:ScoreBoardFile file-path
デフォルト:ScoreBoardFile logs/apache_status
コンテキスト:サーバ設定ファイル
ステータス:MPM
モジュール:beos, leader, mpm_winnt, perchild, prefork, threadpool, worker
+

Apache は親プロセスと子プロセス間の通信にスコアボードを用います。 + この通信機能にファイルを必要とするアーキテクチャもあります。 + ファイルが指定されていなければ、Apache はまずメモリ上 + (匿名共有メモリ) にスコアボードを作ろうとし、それが失敗すると + ディスク上にファイル (ファイルベースの共有メモリ) を作ろうとします。 + このディレクティブを指定すると、Apache + は必ずディスクにファイルを生成します。

+ +

+ ScoreBoardFile /var/run/apache_status +

+ +

ファイルベースの共有メモリは、サードパーティー製のアプリケーションで + スコアボードに直接アクセスする必要がある場合に役に立ちます。

+ +

ScoreBoardFile を使う場合、 + RAM ディスク上に置くとスピードが向上するでしょう。 + しかし、ログファイルの設置位置や + セキュリティ + と同様の注意点があるので、注意してください。

+ +

参照

+ +
+
top
+

SendBufferSize ディレクティブ

+ + + + + + + +
説明:TCP バッファサイズ
構文:SendBufferSize bytes
デフォルト:SendBufferSize 0
コンテキスト:サーバ設定ファイル
ステータス:MPM
モジュール:beos, leader, mpm_netware, mpm_winnt, mpmt_os2, perchild, prefork, threadpool, worker
+

サーバは TCP バッファサイズを指定されたバイト数に設定します。 + 高速で高レイテンシな環境で + ( 100ms 程度、大陸横断高速通信路など) + 古い一般的な OS のデフォルト値を増やすのに非常に便利です。

+ +

0にした場合、OS のデフォルト値が使用されます。

+ +
+
top
+

ServerLimit ディレクティブ

+ + + + + + + +
説明:設定可能なサーバプロセス数の上限
構文:ServerLimit number
デフォルト:詳細は使用法を参照
コンテキスト:サーバ設定ファイル
ステータス:MPM
モジュール:leader, perchild, prefork, threadpool, worker
+

prefork MPM の場合は、このディレクティブは + Apache プロセス稼働中における + MaxClients + に設定可能な上限値を設定することになります + (訳注: prefork の場合は同時クライアント数 = サーバプロセス数なので) 。 + worker MPM の場合には、このディレクティブは + ThreadLimit + ディレクティブと組み合わせて、 + Apache プロセス稼働中における + MaxClients + に設定可能な上限値を設定することになります。 + 再起動中にこのディレクティブを変更しても無視されますが、 + MaxClients + は再起動中に修正することができます。

+ +

このディレクティブを使用する際は特に注意してください。 + ServerLimit が必要以上に大きな値に + 設定された場合は、余計な未使用共有メモリが割り当てられます。 + ServerLimit と + MaxClients + がシステムの扱える範囲を越えた設定値になっていると、 + Apache は起動しないか、起動しても不安定になるでしょう。

+ +

prefork MPM では、 + MaxClients + を 256 (デフォルト) よりも大きな値に設定する必要がある時にだけ使用してください。 + 希望の MaxClients + 数とくらべて、必要以上に大きな値を指定することは避けてください。

+ +

worker, leader, + threadpool MPM では、 + MaxClients と + ThreadsPerChild + の設定で 16 サーバプロセス (デフォルト) + 以上必要になる場合にのみ使用してください。希望の + MaxClients と + ThreadsPerChild + とくらべて、必要となるサーバプロセス数以上に大きな値を + 設定することは避けてください。

+ +

perchild MPM では、 + NumServers を 8 (デフォルト) + よろいも大きな値に設定する必要があるときにのみ使用してください。

+ +

注意

+

ServerLimit 20000 という制限付きでコンパイルされています。 + これはスペルミスによって誤って酷い状況になるのを、 + 回避するための処置です。

+
+ +

参照

+ +
+
top
+

StartServers ディレクティブ

+ + + + + + + +
説明:起動時に生成される子サーバプロセスの数
構文:StartServers number
デフォルト:詳細は使用方法を参照
コンテキスト:サーバ設定ファイル
ステータス:MPM
モジュール:leader, mpmt_os2, prefork, threadpool, worker
+

StartServers ディレクティブは、 + 起動時に生成される子サーバプロセスの数を設定します。 + プロセス数は負荷に応じて動的に制御されますので、 + 通常はこの値を調整する理由はあまりないでしょう。

+ +

デフォルト値は MPM ごとに異なります。 + leader, threadpool, + workerStartServers 3 です。 + prefork5 で、 + mpmt_os22 です。

+ +
+
top
+

StartThreads ディレクティブ

+ + + + + + + +
説明:起動時に生成されるスレッドの数
構文:StartThreads number
デフォルト:詳細は使用方法を参照
コンテキスト:サーバ設定ファイル
ステータス:MPM
モジュール:beos, mpm_netware, perchild
+

起動時に生成されるスレッドの数です。 + スレッド数は負荷に応じて動的に制御されますので、 + 通常はこの値を調整する理由はあまりないでしょう。

+ +

perchild でのデフォルトは + StartThreads 5 で、このディレクティブは起動時に + プロセス毎のスレッド数を追跡します。

+ +

mpm_netware でのデフォルトは + StartThreads 50 で、 + この場合プロセスは一つしかないので、 + 起動時にリクエストに応答するスレッドの総数となります。

+ +

beos でのデフォルトは StartThreads + 10 です。 + また、起動時に生成されるスレッドの総数にも反映されます。

+ +
+
top
+

ThreadLimit ディレクティブ

+ + + + + + + + +
説明:設定可能な子プロセス毎のスレッド数の上限を +設定します
構文:ThreadLimit number
デフォルト:詳細は使用方法を参照
コンテキスト:サーバ設定ファイル
ステータス:MPM
モジュール:leader, mpm_winnt, perchild, threadpool, worker
互換性:Apache 2.0.41 とそれ以降の mpm_winnt +で利用可能
+

このディレクティブは + Apache プロセス稼働中における + ThreadsPerChild + に設定可能な上限値を設定します。再起動時にこのディレクティブの値を + 変更しても無視されますが、 + ThreadsPerChild + は再起動中に、このディレクティブで指定された上限値まで + 変更することができます。

+ +

このディレクティブを使用する際は特に注意してください。 + ThreadLimit が + ThreadsPerChild + よりもずっと大きな値に設定された場合は、 + 余計な未使用共有メモリが割り当てられてしまいます。 + ThreadLimit が + ThreadsPerChild + の両方がシステムの扱える範囲を超えている場合は、 + Apache は起動しないか、起動したとしても不安定になるでしょう。 + このディレクティブの値は今使用している Apache の ThreadsPerChild の予想上限値を + 超えた値には設定しないでください。 +

+ +

ThreadLimit のデフォルト値は + mpm_winnt のときは 1920 で、 + 他の場合は 64 です。

+ +

注意

+

ThreadLimit 20000 (mpm_winnt + の場合は ThreadLimit 15000 ) + という制限付きでコンパイルされています。 + これはスペルミスによって誤って酷い状況になるのを、 + 回避するための処置です。

+
+ +
+
top
+

ThreadsPerChild ディレクティブ

+ + + + + + + +
説明:子プロセスそれぞれに生成されるスレッド数
構文:ThreadsPerChild number
デフォルト:詳細は使用方法を参照
コンテキスト:サーバ設定ファイル
ステータス:MPM
モジュール:leader, mpm_winnt, threadpool, worker
+

このディレクティブは、それぞれの子プロセスで生成される + スレッド数を設定します。 + 子プロセスは開始時にこれらのスレッドを生成して、 + その後は生成しません。mpm_winnt のような、 + 子プロセスが一つしかないような MPM を利用しているのであれば、 + この値はサーバの負荷全体を十分取り扱える程度に、 + 大きくなければなりません。worker のような、 + 子プロセスが複数あるような MPM を利用しているのであれば、 + サーバの通常負荷を十分扱える程度に、 + スレッド総数が多くなければなりません。

+ +

mpm_winntでの ThreadsPerChild + のデフォルト値は 64 で、他の場合は + 25 です。

+ +
+
top
+

User ディレクティブ

+ + + + + + + + +
説明:リクエストに応答する際に用いるユーザ ID
構文:User unix-userid
デフォルト:User #-1
コンテキスト:サーバ設定ファイル
ステータス:MPM
モジュール:leader, perchild, prefork, threadpool, worker
互換性:Apache 2.0 以降で、グローバル設定でのみ有効です。 +
+

User ディレクティブは + サーバがリクエストに応答する際に用いるユーザ ID を設定します。 + このディレクティブを使用するためには、スタンドアロン型の + サーバは最初に root 権限で起動されている必要があります。 + 非 root ユーザでサーバを起動した場合は、 + 権限の低いユーザへと変わることができず、 + 結局元のユーザのプロセスとして実行され続けます。 + root で起動した場合に親プロセスが root + として実行されているのは正常な動作です。 + Unix-userid は次のどれかです。

+ +
+
ユーザ名
+
ユーザを名前で参照します。
+ +
# に続いてユーザ番号
+
ユーザを番号で参照します。
+
+ +

このユーザは、外部に見せるように意図していないファイルに、 + アクセス可能になってしまうような権限を持つべきではないですし、 + 同様に HTTP リクエストに対して応答するように意図していない + 実行コードを、実行できるような権限を持つべきではないです。 + サーバを実行するために特定の新しいユーザとグループを + 設定することをお薦めいたします。 + nobody ユーザを使用する管理者もいますが、 + これが常に望ましいわけではありません。 + なぜなら nobody ユーザは、システムで + 他の役割を担っているかも知れないからです。

+ +

セキュリティ

+

正確にどんなことをやっているのか、その危険性を知らないで、 + User (や Group) を root に + 設定しないでください。

+
+ +

perchild MPM では、異なるユーザ ID + で複数のバーチャルホストを動かすことを目的としていますが、 + User は、主サーバのユーザ ID + と、AssignUserID + ディレクティブを持たない <VirtualHost> セクションへの + フォールバックとを定義することになります。

+ +

特記事項: このディレクティブを + <VirtualHost> + で使用することはサポートされなくなりました。 + suexec 向けにサーバを設定するのであれば、 + SuexecUserGroup + を使用してください。

+ +

注意

+

User ディレクティブは + beosmpmt_os2 MPM + にも存在しますが、実質的に無効で、互換性のためだけに存在します。

+
+ +
+
+
+

Available Languages:  de  | + en  | + es  | + ja  | + tr 

+
+ \ No newline at end of file -- cgit 1.2.3-korg