Apache HTTP サーバ バージョン 2.2

| 説明: | 二つ以上のマルチプロセッシングモジュール (MPM) で実装されているディレクティブのコレクション |
|---|---|
| ステータス: | MPM |
AcceptMutex
CoreDumpDirectory
EnableExceptionHook
GracefulShutdownTimeout
Group
Listen
ListenBackLog
LockFile
MaxClients
MaxMemFree
MaxRequestsPerChild
MaxSpareThreads
MinSpareThreads
PidFile
ReceiveBufferSize
ScoreBoardFile
SendBufferSize
ServerLimit
StartServers
StartThreads
ThreadLimit
ThreadsPerChild
ThreadStackSize
User| 説明: | 複数の子プロセスがネットワークソケットでリクエストを accept しようとしているときに、Apache がそれらの子プロセスを直列化するために 使う方法 |
|---|---|
| 構文: | AcceptMutex default|method |
| デフォルト: | AcceptMutex default |
| コンテキスト: | サーバ設定ファイル |
| ステータス: | MPM |
| モジュール: | prefork, worker |
AcceptMutex ディレクティブは、
ネットワークソケットのリクエストを accept しようとしている複数の子プロセスを
Apache が直列化するために使う方法を設定します。
Apache 2.0 以前は、このメソッドはコンパイル時にのみ選択できました。
最適な方法は、アーキテクチャやプラットホームに大きく依存します。
詳細に関しては、性能のチューニング
ドキュメントをご覧下さい。
このディレクティブが Default
に設定されていれば、コンパイル時に選択されたデフォルト値が使われます。
他の使用可能なメソッドの一覧は下にあります。
全てのメソッドが全てのプラットホームで使用可能であるわけではない、
ということに注意してください。
使用可能でないメソッドが指定された場合は、
使用可能なメソッドの一覧を含んだメッセージが
エラーログに出力されます。
flockLockFile
ディレクティブで定義したファイルのロックに、
flock(2) システムコールを使います。fcntlLockFile
ディレクティブで定義したファイルのロックに、
fcntl(2) システムコールを使います。posixsempthreadsysvsemコンパイル時にシステムのデフォルトに選ばれたものが何かを見たい場合は、
LogLevel を debug
に設定するとよいでしょう。デフォルトの AcceptMutex
が ErrorLog に書き込まれます。
ほとんどのシステムにおいては、pthread オプションが
選ばれていると、子プロセスが AcceptCntl mutex を
保持しているときに異常終了した場合、サーバはリクエストへの応答を
停止してしまいます。これが発生した場合は、サーバを復旧させるためには
手動で再起動させる必要があります。
Solaris は例外で、Apache も使用している、子プロセスが mutex を 保持して異常終了した後に mutex を復旧させるための機構を提供をしています。
御使用のシステムが pthread_mutexattr_setrobust_np() 関数を
実装している場合は、pthread オプションを安全に使用できる
可能性があります。
| 説明: | Apache がコアダンプする前に移動を試みるディレクトリ |
|---|---|
| 構文: | CoreDumpDirectory directory |
| デフォルト: | デフォルトの設定は説明文を読んでください |
| コンテキスト: | サーバ設定ファイル |
| ステータス: | MPM |
| モジュール: | beos, mpm_winnt, prefork, worker |
Apache がコアダンプする前に移動を試みるディレクトリを制御します。
デフォルト値は ServerRoot
ディレクトリですが、このディレクトリはサーバの実行されているユーザ権限で
書き込み可能であるべきではないので、通常はコアダンプは書き込まれません。
デバッグのためにコアダンプが必要であれば、
このディレクティブを使って他の位置にコアダンプを書き出すようにできます。
Apache が root として起動されて、別のユーザの権限に以降した場合は
Linux のカーネルはディレクトリがプロセスの権限で書き込み可能な場合でさえも
コアダンプを無効にします。Apache (2.0.46 以降) は
Linux 2.4 以降ではコアダンプを行なうように再指定しますが、それは
CoreDumpDirectory を明示的に設定したときに
限ります。
| 説明: | クラッシュの後に例外ハンドラを実行するフックを有効にする |
|---|---|
| 構文: | EnableExceptionHook On|Off |
| デフォルト: | EnableExceptionHook Off |
| コンテキスト: | サーバ設定ファイル |
| ステータス: | MPM |
| モジュール: | prefork, worker |
| 互換性: | 2.0.49 以降 |
安全上の理由から、--enable-exception-hook configure
オプションを有効にした場合にのみ、このディレクティブを利用できます。
外部モジュールをプラグインして、子がクラッシュした後に何か実行できるような
フックを有効にします。
このような外部モジュールは、既に二つ存在していて、
mod_whatkilledus と mod_backtrace
がこのフックを活用します。これらの詳細については Jeff Trawick
さんの EnableExceptionHook site を参照してください。
| 説明: | 穏やかな停止をかけた後、終了するまで待つ時間 |
|---|---|
| 構文: | GracefulShutDownTimeout seconds |
| デフォルト: | GracefulShutDownTimeout 0 |
| コンテキスト: | サーバ設定ファイル |
| ステータス: | MPM |
| モジュール: | prefork, worker, event |
| 互換性: | 2.2 以降 |
GracefulShutdownTimeout には
サーバーが "graceful-stop" シグナルを受け取ってから現在の
リクエストの処理を最大で何秒間続けるかを指定します。
この値をゼロに設定すると、処理中として残っているリクエストが 全て完了するまでサーバーは終了しません。
| 説明: | リクエストに応答する際に所属するグループ |
|---|---|
| 構文: | Group unix-group |
| デフォルト: | Group #-1 |
| コンテキスト: | サーバ設定ファイル |
| ステータス: | MPM |
| モジュール: | beos, mpmt_os2, prefork, worker |
| 互換性: | Apache 2.0 以降で、グローバル設定でのみ有効です。 |
Group ディレクティブで、
リクエストに応答する際に所属しておくグループを設定します。
このディレクティブを使用するためには、
サーバは最初に root 権限で起動されている必要があります。
非 root ユーザでサーバを起動した場合は、指定したグループに変化できずに、
結果的に起動したユーザの属するグループで実行されることになります。
unix-group は次のうちのいずれかです:
# に続いてグループ番号
Group www-group
サーバを実行するために特定の新しいグループを設定することを
お薦めします。nobody を使用する管理者もいますが、
可能であったり望ましい訳では必ずしもありません。
正確にどんなことをやっているのか、その危険性を知らないで、
Group (や User) を
root に 設定しないでください。
特記事項: このディレクティブを
<VirtualHost>
で使用することはサポートされなくなりました。Apache 2.0 で
suexec を設定したい場合は、
SuexecUserGroup
を使用してください。
| 説明: | サーバが listen するIP アドレスとポート番号 |
|---|---|
| 構文: | Listen [IP-address:]portnumber [protocol] |
| コンテキスト: | サーバ設定ファイル |
| ステータス: | MPM |
| モジュール: | beos, mpm_netware, mpm_winnt, mpmt_os2, prefork, worker, event |
| 互換性: | Apache 2.0 から必須ディレクティブ。protocol 引数は 2.1.5 で追加。 |
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
protocol オプション引数は通常の設定では必要ありません。
無指定の場合、443 番ポートには https が、他のポートには
http がデフォルト値として使用されます。
protocol 指定は、どのモジュールがリクエストを処理するかを決定し、
AcceptFilter
によるプロトコル特有の最適化を行うようにします。
非標準なポートで運用している際にのみ protocol 指定が必要になります。
たとえば https なサイトを 8443 番ポートで運用している場合 :
Listen 192.170.2.1:8443 https
Listen
ディレクティブを指定してしまうと、Address already in use
というエラーメッセージを受けることになります。
| 説明: | 保留状態のコネクションのキューの最大長 |
|---|---|
| 構文: | ListenBacklog backlog |
| デフォルト: | ListenBacklog 511 |
| コンテキスト: | サーバ設定ファイル |
| ステータス: | MPM |
| モジュール: | beos, mpm_netware, mpm_winnt, mpmt_os2, prefork, worker |
保留状態のコネクションのキューの最大長です。
一般的には調整する必要はありませんし、調整は望ましくありません。
しかし、TCP SYN フラッドアタックの状況下におかれる場合に、
増やした方が望ましいシステムもあります。
listen(2) システムコールのバックログパラメータを
ご覧下さい。
この値は OS により、小さな数に抑えられます。 値は OS 毎に異なっています。また多くの OS では、 バックログとして指定されている値ちょうどまで使っているわけではなく、 設定されている値に基づいて (通常は設定値よりも大きな値を) 使っていることに注意してください。
| 説明: | 受付を直列化するためのロックファイルの位置 |
|---|---|
| 構文: | LockFile filename |
| デフォルト: | LockFile logs/accept.lock |
| コンテキスト: | サーバ設定ファイル |
| ステータス: | MPM |
| モジュール: | prefork, worker |
AcceptMutex
が fcntl や flock
に設定されて使用されている場合に、使用されるロックファイルへのパスを
LockFile ディレクティブで設定します。
このディレクティブは通常はそのままにしておきます。
主に logs ディレクトリが NFS
でマウントされている場合などに値を変えます。
なぜならロックファイルはローカルディスクに
保存されなければならないからです。
メインサーバプロセスの PID がファイル名に自動的に付加されます。
/var/tmp
といった、誰でも書き込めるディレクトリにファイルを
置かない方がよいです。なぜなら、サーバが起動時に作成する
ロックファイルの作成自体を妨害することによって、
誰でもサービス拒否アタックを引き起こすことができるからです。
| 説明: | リクエストに応答するために作成される 子プロセスの最大個数 |
|---|---|
| 構文: | MaxClients number |
| デフォルト: | 詳細は使用法をご覧下さい。 |
| コンテキスト: | サーバ設定ファイル |
| ステータス: | MPM |
| モジュール: | beos, prefork, worker |
MaxClients ディレクティブは、
応答することのできる同時リクエスト数を設定します。
MaxClients 制限数を越えるコネクションは通常、
ListenBacklog
ディレクティブで設定した数までキューに入ります。
他のリクエストの最後まで達して子プロセスが空くと、
次のコネクションに応答します。
スレッドを用いないサーバ (すなわち prefork)
では、MaxClients
は、リクエストに応答するために起動される
子プロセスの最大数となります。
デフォルト値は 256 で、これを増加させたい場合は、
ServerLimit
の値も増加させる必要があります。
スレッドを用いるサーバや、ハイブリッドサーバ (すなわち
beos worker)
では、MaxClients
は、クライアントに応答できるスレッドの総数を制限します。
beos でのデフォルト値は 50 です。
ハイブリッド MPM でのデフォルト値は 16
ServerLimit
の 25 倍 (ThreadsPerChild) です。
MaxClients
を 16 プロセス以上必要な値まで増加させたい場合は、
ServerLimit
も増加させる必要があります。
| 説明: | free() が呼ばれない限り、
主メモリアロケータが保持し続けられるメモリの最大量 |
|---|---|
| 構文: | MaxMemFree KBytes |
| デフォルト: | MaxMemFree 0 |
| コンテキスト: | サーバ設定ファイル |
| ステータス: | MPM |
| モジュール: | beos, mpm_netware, prefork, worker, mpm_winnt |
MaxMemFree ディレクティブは
free() が呼ばれない限り、
主アロケータが保持できる空のメモリの最大値をキロバイト単位で設定します。
設定されていないか、零に設定されているときは、無制限になります。
| 説明: | 個々の子サーバが稼働中に扱うリクエスト数の上限 |
|---|---|
| 構文: | MaxRequestsPerChild number |
| デフォルト: | MaxRequestsPerChild 10000 |
| コンテキスト: | サーバ設定ファイル |
| ステータス: | MPM |
| モジュール: | mpm_netware, mpm_winnt, mpmt_os2, prefork, worker |
MaxRequestsPerChild ディレクティブは、
個々の子サーバプロセスが扱うことのできるリクエストの制限数を
設定します。MaxRequestsPerChild
個のリクエストの後に、子プロセスは終了します。
MaxRequestsPerChild が 0
に設定されている場合は、プロセスは期限切れにより終了することはありません。
mpm_netware と mpm_winnt
でのデフォルト値は 0 です。
MaxRequestsPerChild
を非ゼロに制限することには、二つの利点があります:
KeepAlive リクエストの場合は、
一つif="directive-dict.html#Compatibility">互換性:
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
protocol オプション引数は通常の設定では必要ありません。
無指定の場合、443 番ポートには https が、他のポートには
http がデフォルト値として使用されます。
protocol 指定は、どのモジュールがリクエストを処理するかを決定し、
AcceptFilter
によるプロトコル特有の最適化を行うようにします。
非標準なポートで運用している際にのみ protocol 指定が必要になります。
たとえば https なサイトを 8443 番ポートで運用している場合 :
Listen 192.170.2.1:8443 https
Listen
ディレクティブを指定してしまうと、Address already in use
というエラーメッセージを受けることになります。
| 説明: | 保留状態のコネクションのキューの最大長 |
|---|---|
| 構文: | ListenBacklog backlog |
| デフォルト: | ListenBacklog 511 |
| コンテキスト: | サーバ設定ファイル |
| ステータス: | MPM |
| モジュール: | beos, mpm_netware, mpm_winnt, mpmt_os2, prefork, worker |
保留状態のコネクションのキューの最大長です。
一般的には調整する必要はありませんし、調整は望ましくありません。
しかし、TCP SYN フラッドアタックの状況下におかれる場合に、
増やした方が望ましいシステムもあります。
listen(2) システムコールのバックログパラメータを
ご覧下さい。
この値は OS により、小さな数に抑えられます。 値は OS 毎に異なっています。また多くの OS では、 バックログとして指定されている値ちょうどまで使っているわけではなく、 設定されている値に基づいて (通常は設定値よりも大きな値を) 使っていることに注意してください。
| 説明: | 受付を直列化するためのロックファイルの位置 |
|---|---|
| 構文: | LockFile filename |
| デフォルト: | LockFile logs/accept.lock |
| コンテキスト: | サーバ設定ファイル |
| ステータス: | MPM |
| モジュール: | prefork, worker |
AcceptMutex
が fcntl や flock
に設定されて使用されている場合に、使用されるロックファイルへのパスを
LockFile ディレクティブで設定します。
このディレクティブは通常はそのままにしておきます。
主に logs ディレクトリが NFS
でマウントされている場合などに値を変えます。
なぜならロックファイルはローカルディスクに
保存されなければならないからです。
メインサーバプロセスの PID がファイル名に自動的に付加されます。
/var/tmp
といった、誰でも書き込めるディレクトリにファイルを
置かない方がよいです。なぜなら、サーバが起動時に作成する
ロックファイルの作成自体を妨害することによって、
誰でもサービス拒否アタックを引き起こすことができるからです。
| 説明: | リクエストに応答するために作成される 子プロセスの最大個数 |
|---|---|
| 構文: | MaxClients number |
| デフォルト: | 詳細は使用法をご覧下さい。 |
| コンテキスト: | サーバ設定ファイル |
| ステータス: | MPM |
| モジュール: | beos, prefork, worker |
MaxClients ディレクティブは、
応答することのできる同時リクエスト数を設定します。
MaxClients 制限数を越えるコネクションは通常、
ListenBacklog
ディレクティブで設定した数までキューに入ります。
他のリクエストの最後まで達して子プロセスが空くと、
次のコネクションに応答します。
スレッドを用いないサーバ (すなわち prefork)
では、MaxClients
は、リクエストに応答するために起動される
子プロセスの最大数となります。
デフォルト値は 256 で、これを増加させたい場合は、
ServerLimit
の値も増加させる必要があります。
スレッドを用いるサーバや、ハイブリッドサーバ (すなわち
beos worker)
では、MaxClients
は、クライアントに応答できるスレッドの総数を制限します。
beos でのデフォルト値は 50 です。
ハイブリッド MPM でのデフォルト値は 16
ServerLimit
の 25 倍 (ThreadsPerChild) です。
MaxClients
を 16 プロセス以上必要な値まで増加させたい場合は、
ServerLimit
も増加させる必要があります。
| 説明: | free() が呼ばれない限り、
主メモリアロケータが保持し続けられるメモリの最大量 |
|---|---|
| 構文: | MaxMemFree KBytes |
| デフォルト: | MaxMemFree 0 |
| コンテキスト: | サーバ設定ファイル |
| ステータス: | MPM |
| モジュール: | beos, mpm_netware, prefork, worker, mpm_winnt |
MaxMemFree ディレクティブは
free() が呼ばれない限り、
主アロケータが保持できる空のメモリの最大値をキロバイト単位で設定します。
設定されていないか、零に設定されているときは、無制限になります。
| 説明: | 個々の子サーバが稼働中に扱うリクエスト数の上限 |
|---|---|
| 構文: | MaxRequestsPerChild number |
| デフォルト: | MaxRequestsPerChild 10000 |
| コンテキスト: | サーバ設定ファイル |
| ステータス: | MPM |
| モジュール: | mpm_netware, mpm_winnt, mpmt_os2, prefork, worker |
MaxRequestsPerChild ディレクティブは、
個々の子サーバプロセスが扱うことのできるリクエストの制限数を
設定します。MaxRequestsPerChild
個のリクエストの後に、子プロセスは終了します。
MaxRequestsPerChild が 0
に設定されている場合は、プロセスは期限切れにより終了することはありません。
mpm_netware と mpm_winnt
でのデフォルト値は 0 です。
MaxRequestsPerChild
を非ゼロに制限することには、二つの利点があります:
KeepAlive リクエストの場合は、
一つif="directive-dict.html#Compatibility">互換性:
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
protocol オプション引数は通常の設定では必要ありません。
無指定の場合、443 番ポートには https が、他のポートには
http がデフォルト値として使用されます。
protocol 指定は、どのモジュールがリクエストを処理するかを決定し、
AcceptFilter
によるプロトコル特有の最適化を行うようにします。
非標準なポートで運用している際にのみ protocol 指定が必要になります。
たとえば https なサイトを 8443 番ポートで運用している場合 :
Listen 192.170.2.1:8443 https
Listen
ディレクティブを指定してしまうと、Address already in use
というエラーメッセージを受けることになります。
| 説明: | 保留状態のコネクションのキューの最大長 |
|---|---|
| 構文: | ListenBacklog backlog |
| デフォルト: | ListenBacklog 511 |
| コンテキスト: | サーバ設定ファイル |
| ステータス: | MPM |
| モジュール: | beos, mpm_netware, mpm_winnt, mpmt_os2, prefork, worker |
保留状態のコネクションのキューの最大長です。
一般的には調整する必要はありませんし、調整は望ましくありません。
しかし、TCP SYN フラッドアタックの状況下におかれる場合に、
増やした方が望ましいシステムもあります。
listen(2) システムコールのバックログパラメータを
ご覧下さい。
この値は OS により、小さな数に抑えられます。 値は OS 毎に異なっています。また多くの OS では、 バックログとして指定されている値ちょうどまで使っているわけではなく、 設定されている値に基づいて (通常は設定値よりも大きな値を) 使っていることに注意してください。
| 説明: | 受付を直列化するためのロックファイルの位置 |
|---|---|
| 構文: | LockFile filename |
| デフォルト: | LockFile logs/accept.lock |
| コンテキスト: | サーバ設定ファイル |
| ステータス: | MPM |
| モジュール: | prefork, worker |
AcceptMutex
が fcntl や flock
に設定されて使用されている場合に、使用されるロックファイルへのパスを
LockFile ディレクティブで設定します。
このディレクティブは通常はそのままにしておきます。
主に logs ディレクトリが NFS
でマウントされている場合などに値を変えます。
なぜならロックファイルはローカルディスクに
保存されなければならないからです。
メインサーバプロセスの PID がファイル名に自動的に付加されます。
/var/tmp
といった、誰でも書き込めるディレクトリにファイルを
置かない方がよいです。なぜなら、サーバが起動時に作成する
ロックファイルの作成自体を妨害することによって、
誰でもサービス拒否アタックを引き起こすことができるからです。
| 説明: | リクエストに応答するために作成される 子プロセスの最大個数 |
|---|---|
| 構文: | MaxClients number |
| デフォルト: | 詳細は使用法をご覧下さい。 |
| コンテキスト: | サーバ設定ファイル |
| ステータス: | MPM |
| モジュール: | beos, prefork, worker |
MaxClients ディレクティブは、
応答することのできる同時リクエスト数を設定します。
MaxClients 制限数を越えるコネクションは通常、
ListenBacklog
ディレクティブで設定した数までキューに入ります。
他のリクエストの最後まで達して子プロセスが空くと、
次のコネクションに応答します。
スレッドを用いないサーバ (すなわち prefork)
では、MaxClients
は、リクエストに応答するために起動される
子プロセスの最大数となります。
デフォルト値は 256 で、これを増加させたい場合は、
ServerLimit
の値も増加させる必要があります。
スレッドを用いるサーバや、ハイブリッドサーバ (すなわち
beos worker)
では、MaxClients
は、クライアントに応答できるスレッドの総数を制限します。
beos でのデフォルト値は 50 です。
ハイブリッド MPM でのデフォルト値は 16
ServerLimit
の 25 倍 (ThreadsPerChild) です。
MaxClients
を 16 プロセス以上必要な値まで増加させたい場合は、
ServerLimit
も増加させる必要があります。
| 説明: | free() が呼ばれない限り、
主メモリアロケータが保持し続けられるメモリの最大量 |
|---|---|
| 構文: | MaxMemFree KBytes |
| デフォルト: | MaxMemFree 0 |
| コンテキスト: | サーバ設定ファイル |
| ステータス: | MPM |
| モジュール: | beos, mpm_netware, prefork, worker, mpm_winnt |
MaxMemFree ディレクティブは
free() が呼ばれない限り、
主アロケータが保持できる空のメモリの最大値をキロバイト単位で設定します。
設定されていないか、零に設定されているときは、無制限になります。
| 説明: | 個々の子サーバが稼働中に扱うリクエスト数の上限 |
|---|---|
| 構文: | MaxRequestsPerChild number |
| デフォルト: | MaxRequestsPerChild 10000 |
| コンテキスト: | サーバ設定ファイル |
| ステータス: | MPM |
| モジュール: | mpm_netware, mpm_winnt, mpmt_os2, prefork, worker |
MaxRequestsPerChild ディレクティブは、
個々の子サーバプロセスが扱うことのできるリクエストの制限数を
設定します。MaxRequestsPerChild
個のリクエストの後に、子プロセスは終了します。
MaxRequestsPerChild が 0
に設定されている場合は、プロセスは期限切れにより終了することはありません。
mpm_netware と mpm_winnt
でのデフォルト値は 0 です。
MaxRequestsPerChild
を非ゼロに制限することには、二つの利点があります:
KeepAlive リクエストの場合は、
一つif="directive-dict.html#Compatibility">互換性:
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
protocol オプション引数は通常の設定では必要ありません。
無指定の場合、443 番ポートには https が、他のポートには
http がデフォルト値として使用されます。
protocol 指定は、どのモジュールがリクエストを処理するかを決定し、
AcceptFilter
によるプロトコル特有の最適化を行うようにします。
非標準なポートで運用している際にのみ protocol 指定が必要になります。
たとえば https なサイトを 8443 番ポートで運用している場合 :
Listen 192.170.2.1:8443 https
Listen
ディレクティブを指定してしまうと、Address already in use
というエラーメッセージを受けることになります。
| 説明: | 保留状態のコネクションのキューの最大長 |
|---|---|
| 構文: | ListenBacklog backlog |
| デフォルト: | ListenBacklog 511 |
| コンテキスト: | サーバ設定ファイル |
| ステータス: | MPM |
| モジュール: | beos, mpm_netware, mpm_winnt, mpmt_os2, prefork, worker |
保留状態のコネクションのキューの最大長です。
一般的には調整する必要はありませんし、調整は望ましくありません。
しかし、TCP SYN フラッドアタックの状況下におかれる場合に、
増やした方が望ましいシステムもあります。
listen(2) システムコールのバックログパラメータ