変更履歴
- Rev. 0.7 : 2026年06月16日
- 新規作成
1 はじめに
本記事は、RHEL 10におけるPHP-FPMとApache 2.4との連携設定についてまとめたものです。
ほとんどの設定項目はデフォルトのままで良いのですが、
PHP-FPMをインストールしただけでは、PHP-FPMとApacheとの連携はとれていません。
本記事では、最低限のPHP-FPMとApacheとの連携設定について示します。
本記事は、以下の環境におけるPHP-FPMの設定について示しています。
2 PHP-FPMのインストールと基本設定
2.1 インストール
まず、EPELレポジトリを有効化します。
# dnf install dnf-utils epel-release
PHP-FPMは、次のコマンドでインストールします。
# dnf install php-fpm
インストール済みのPHP-FPMを更新する場合は、次のコマンドを使用します。
# dnf update php-fpm
インストール後は、サービスとして起動します。
# systemctl enable –now php-fpm
2.2 設定
PHP-FPMの設定に関するファイルを表2.2-1に示します。
Apacheと連携するだけで良いのであれば、これらのファイルの内容を変更する必要はありません。
Apache側でPHP-FPMと連携設定をする際、PHP-FPM側でどのように設定されているかを見る
くらいです。
特に見なければならないのは、“www.conf“です。
Apacheとの連携設定において、表2.2-2に示す項目の値を参照します。
2.3 動作確認
下に示す内容のPHPファイルを作成し、ドキュメントルートに配置します。
<?php echo phpinfo(); ?>
ブラウザー表示すると、その中に次の表示があればOKです。
なお、この方法では、Apacheとの通信を確認することはできません。 念のため。
3 Apacheとの連携
3.1 ApacheとPHP-FPMの連携
Apacheの設定ファイルの“FilesMatch”セクション中に、
下に示すようにUNIXソケットパスを引数にした“SetHandler”ディレクティブを追加します。
一般的な仮想ホスト設定は、次のようになります。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<VirtualHost *:80> ServerName example.com DocumentRoot /var/www/html <FilesMatch \.php$> # UNIXソケット経由での接続 SetHandler "proxy:unix:/var/run/php-fpm/www.sock|fcgi://localhost" </FilesMatch> <Directory /var/www/html> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> </VirtualHost> |
3.2 DOCUMENT_ROOTの明示的な設定
PHP-FPMはApacheとは独立しているため、DOCUMENT_ROOTを正しく設定する必要があります。
3.3 環境変数
PHP-FPMでは、Apacheから環境変数を適切に受け取る必要があります。
特に、“memory_limit”は下に示すようでなければ、利用しているプラグインによって動作しない
ことがあるのかもしれません。
3.4 課題
他のサイトでの設定例を見ていると、なんの説明もなく下に示す設定の一部がでてきたりします。
① 実行ユーザー・グループとパーミッション
② MPM(Multi Processing Module)
設定の有用性や正しい設定方法については、調べておかなければならないと思っています。
3.4.1 実行ユーザー・グループとパーミッション
PHP-FPMを利用するメリットは、Apache全体ではなくプール(Pool)ごとにPHPプロセスの
実行ユーザー・グループを分けることができる点にあります。
実行ユーザー・グループを分けるには、PHP-FPM側とApache側に設定が必要となってきます。
デフォルト設定では、PHP-FPMとApacheの実行ユーザー・グループは同じです。
3.4.2 MPM(Multi Processing Module)
MPMとはMulti Processing Moduleの略で、マルチプロセスを実現するための仕組みのことです。
Webサーバーへの接続数が多くなってきた場合、シングルプロセスで処理をしていれば、
効率が悪くなり、レスポンスの低下につながることになります。
レスポンスを上げるためには、マルチプロセスで処理が行えるようチューニングを行う必要があります。
RHEL 10では、デフォルトで“event”のMPMが有効になっているようです。
以上
本記事の元となっているWordで作成したPDFを
ページ最後に貼り付けました。
少しでも役に立てていただければ、うれしく思います。
このPDFファイルは、自由に配布されてもかまいません。
ただし、再配布の際には、
入手元と著者名は明らかにしてください。
なお、上のPDFファイルの内容、また本文中の記述に、
誤字や脱字、誤った内容の記述など見つかりましたら、
下に示すフォームでご連絡いただければ幸いです。

コメント