MPM Preforkディレクティブの値を見つけることができません。最大リクエストワーカー数/最大スペアスレッド設定ファイルに以下の内容があります。コマンドラインからこれらの値を一覧表示する方法はありますか?
-bash-4.2# httpd -v
Server version: Apache/2.4.23 (Amazon)
-bash-4.2# httpd -V
Server version: Apache/2.4.23 (Amazon)
Server built: Jul 29 2016 21:42:17
Server's Module Magic Number: 20120211:61
Server loaded: APR 1.5.1, APR-UTIL 1.4.1
Compiled using: APR 1.5.1, APR-UTIL 1.4.1
Architecture: 64-bit
Server MPM: prefork
threaded: no
forked: yes (variable process count)
Server compiled with....
-D APR_HAS_SENDFILE
-D APR_HAS_MMAP
-D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
-D APR_USE_SYSVSEM_SERIALIZE
-D APR_USE_PTHREAD_SERIALIZE
-D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
-D APR_HAS_OTHER_CHILD
-D AP_HAVE_RELIABLE_PIPED_LOGS
-D DYNAMIC_MODULE_LIMIT=256
-D HTTPD_ROOT="/etc/httpd"
-D SUEXEC_BIN="/usr/sbin/suexec"
-D DEFAULT_PIDLOG="/var/run/httpd/httpd.pid"
-D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
-D DEFAULT_ERRORLOG="logs/error_log"
-D AP_TYPES_CONFIG_FILE="conf/mime.types"
-D SERVER_CONFIG_FILE="conf/httpd.conf"
追記: SuperUser にも投稿しました。どこが適切な場所かわかりません。
答え1
- preforkはスレッド化されていないため、MaxSpareThreadsは見つかりません。
**MaxSpareServers**
- コマンドラインからではなく、メインの設定ファイルを「cat」する、またはディストリビューションが配置した場所(httpd.conf、apache.conf、mpm.conf など)
- あなたが持っている場合情報あなたはできる "カール「サーバーから情報を取得し、そこから設定を解析/読み取ります。これはおそらくコマンドラインから情報を取得するのに最も近い方法です。そこには、モジュール名: prefork.cそして、いくつかのテキストの後に「現在の構成:「実際のmpm設定(注意:mod_info は実質的に設定全体を明らかにするため、アクセスするすべてのユーザーがサーバー上で公開してはなりません)。
プリフォークの設定方法についてさらに情報が必要な場合は、mpm prefork に関する公式ドキュメント
注: いずれにしても prefork はお勧めしません。event を使用してください。mod_php が原因の場合は、それを捨てて php-fpm を使用してください。
答え2
/usr/share/doc/httpd-2.4.54
ここで提案されている他のアプローチの代わりとして、Apacheディストリビューションにはさまざまな設定のテンプレートとファイルを含むディレクトリがあります。httpd-default.conf
その中で、Apache HTTP Serverのデフォルト設定を反映します。
証明はしていませんが、ここにある別のファイルについてもこれが当てはまると思われますhttpd-mpm.conf
。このファイルには、次の前文を含む MPM 関連の設定セクションが含まれています。
# Only one of the below sections will be relevant on your
# installed httpd. Use "apachectl -l" to find out the
# active mpm.
どうやら-l
上記はタイプミスのようです。私の場合は、 を実行するapachectl -V
と、次のメッセージが表示されます。
Architecture: 64-bit
Server MPM: prefork
threaded: no
forked: yes (variable process count)
Server compiled with....
httpd-mpm.conf
そこで私は関連するセクションを参照しますプリフォーク MPM、 を含む:
# prefork MPM
# StartServers: number of server processes to start
# MinSpareServers: minimum number of server processes which are kept spare
# MaxSpareServers: maximum number of server processes which are kept spare
# MaxRequestWorkers: maximum number of server processes allowed to start
# MaxConnectionsPerChild: maximum number of connections a server process serves
# before terminating
<IfModule mpm_prefork_module>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxRequestWorkers 250
MaxConnectionsPerChild 0
</IfModule>```