CentOS7 : Apache を event MPM+php-fpm 構成に切り替える

 CentOS7 のデフォルト構成で Apache 2.4 を起動すると、MPM module は prefork で構成されています。
 event の方がパフォーマンスが良いようなので、切り替えてみました。

スポンサーリンク(広告)
スポンサーリンク(広告)

必要なサービスのインストールと常駐

 prefork 構成の場合、php を入れればとりあえずは動作しますが、event の場合は、php-fpm(PHP FastCGI Process Manager)を使って PHP を実行しますので、必要なソフトをインストールし、常駐させます。

prefork 構成用の設定に適用条件を付加

 prefork 構成を全く使う予定がないのであれば、削除しても差し支えないのですが、いつでも切り替えられるように、設定に条件を付けます。
 条件を付ける必要があるセクションは、/etc/httpd/conf.d/php.conf の以下の通りです。

 この二つのセクションに適用条件を付けます。

 あるいは、全体に条件を付けます。どちらでも良いです。

event 構成用の設定ファイルの作成

 event 構成用の設定ファイルを作成します。

 各パラメータでチューニングを行うことができます。サーバ性能や環境に応じて適切に設定する必要があります。
 各パラメータについては、こちらのサイトが詳しく書かれています。
 Apache HTTP Server: MPMパラメータ チートシート

prefork から event へ切り替え

 /etc/httpd/conf.modules.d/00-mpm.conf を編集して、prefork から event へ切り替えます。

 以下の行をコメントアウトします。

 以下の行をアンコメントします。

Apache の再起動と確認

 現在の設定を確認します。

 Apache を再起動します。

 設定が反映されたか確認します。

依存関係の設定

 このままでも問題はないと思いますが、php-fpm がこけたときに httpd もこけるように依存関係を設定します。

 Requires=php-fpm.service を追加します。

 同じく httpd がこけたときに、php-fpm もこけるように設定します。

 Requires=httpd.service を追加します。

スポンサーリンク(広告)
スポンサーリンク(広告)