Fedora 40 または 39 で PHP-FPM と連携するように Nginx を構成することは、動的な PHP コンテンツを処理できる高性能サーバーをセットアップするために不可欠です。Nginx は静的コンテンツを効率的に提供することに優れており、PHP-FPM は PHP プロセスを管理して PHP スクリプトの実行を最適化します。ただし、デフォルトでは、PHP-FPM サービスは「apache」ユーザーで実行されますが、これは Nginx と互換性がありません。したがって、PHP-FPM 構成を調整して、Nginx で正しく動作するようにする必要があります。
このガイドでは、PHP-FPM 構成に必要な調整を含め、Fedora 40 または 39 で Nginx が PHP-FPM とシームレスに連携するように構成する手順について説明します。このガイドを完了すると、サーバーは PHP ベースの Web サイトを効率的に提供できるようになります。
www.conf 設定ファイルを開く
まず、次のコマンドで設定ファイル (www.conf) を開きます。
sudo nano /etc/php-fpm.d/www.conf
設定ファイルを開き、以下の画像に示すように、(Apache) ユーザーとグループを (Nginx) ユーザーとグループに置き換えます。
上記のように、「apache」を持つ「ユーザー」と「グループ」を見つけ、以下に示すように「nginx」に変更します。
(CTRL+O) を押して保存し、(CTRL+X) を押して終了します。
必要な調整を行ってから、PHP-FPM サービスを再起動します。
sudo systemctl restart php-fpm
Nginx PHP-FPM サーバー ブロック コードの例
Nginx で PHP ファイルを処理するには、以下の例に示すように、サーバー ブロックを構成する必要があります。PHP ファイルを管理するすべての server{} ブロックにこの例を使用し、構成に「location ~ .php$.」を含めるようにしてください。
例のみ:
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
以前のコードに加えられた変更によってエラーが発生しなかったことを確認するには、次のコマンドを使用して Nginx 構成をテストできます。
sudo nginx -t
出力例:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
PHP-FPM のセットアップを完了するには、Nginx サービスを再起動します。
sudo systemctl restart nginx
結論
Nginx を Fedora 上の PHP-FPM と連携するように構成することで、動的なコンテンツを正確に処理できる、非常に効率的でスケーラブルな Web サーバー環境を作成できます。適切なユーザーで実行するように PHP-FPM 構成を調整することは、Nginx との互換性とセキュリティを確保するための重要なステップでした。この設定を維持するには、サーバーのパフォーマンスを定期的に監視し、必要に応じて Nginx と PHP-FPM の両方に更新を適用します。適切なメンテナンスを行うことで、サーバーの安全性と効率性が維持され、増加するトラフィックと需要を処理できるようになります。