2026年6月17日

2026年6月17日

VPSのPHP-FPM設定を最適化する方法

はじめに

本記事では、VPS上で動作するWordPressサイトのパフォーマンスを向上させるために、PHP-FastCGI Process Manager(PHP-FPM)の設定を最適化する方法について解説します。PHP-FPMはPHPスクリプトを効率的に実行し、Webサーバーとの通信を行うためのプロセス管理ツールです。適切な設定を行い、VPSのリソースを最大限に活用することで、サイトの応答速度や負荷分散が改善されます。

症状・背景

このテーマが必要になる主な場面は以下の通りです:

  • ホストサーバー上でのPHP処理が重いと感じられる場合
  • WordPressサイトのパフォーマンスが低下している場合
  • サイトのアクセスが増加し、パフォーマンスに影響が出ている場合

手順・設定方法

ステップ1: PHP-FPMの基本操作

# PHP-FPMのサービス状態を確認します。
sudo systemctl status php7.4-fpm  # インストールされているPHPバージョンに合わせて変更してください

# PHP-FPMを再起動して設定を適用します。
sudo systemctl restart php7.4-fpm

# 適切なパラメータを確認するために、php.iniファイルを開きます。
sudo nano /etc/php/7.4/fpm/php.ini

ステップ2: 主要オプション/設定

# プロセス数と最大同時接続数の調整を行います。通常はウェブサイトのトラフィックを考慮して設定します。
sudo nano /etc/php/7.4/fpm/pool.d/www.conf

# pm.max_children = 50  # サーバーの処理能力に合わせて最適な値に調整してください
# pm.start_servers = 10
# pm.min_spare_servers = 5
# pm.max_spare_servers = 30

# ログレベルを設定します。デバッグ用にログが必要な場合は、error_levelを追加できます。
sudo nano /etc/php/7.4/fpm/php-fpm.conf

# error_log = /var/log/php-fpm.log

ステップ3: 应用/組み合わせ

# PHP-FPMの設定を適用するために再起動します。
sudo systemctl restart php7.4-fpm

# NginxやApacheとの連携を確認します。Nginxの場合、以下の設定を適用します。
sudo nano /etc/nginx/sites-available/default

# location / {
#     try_files $uri $uri/ =404;
#     fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
#     include fastcgi_params;
# }

# Apacheの場合、以下のように設定を行います。
sudo nano /etc/apache2/conf-available/php7.4.conf

# <IfModule mod_fastcgi.c>
# FastCgiExternalServer /var/www/html -socket /var/run/php/php7.4-fpm.sock -pass-header Content-Type
# </IfModule>

ステップ4: 実践/トラブルシュート/監視

# PHP-FPMのログを確認します。
sudo tail -f /var/log/php-fpm.log

# パフォーマンスを監視するために、以下のようなツールを使用します。
sudo apt install sysdig
sysdig proc.name=php-fpm

注意事項

  • セキュリティ上の注意: 設定ファイルの変更は慎重に行い、バックアップを取ることをお勧めします。不正アクセス防止のために必要なセキュリティ設定も併せて確認することです。
  • パフォーマンス/運用上の注意: 事前には実際のトラフィック量と処理能力に合わせた最適な設定を行ってください。頻繁にアクセスが増加する場合は、設定を定期的に見直すことを忘れないでください。

まとめ

1. パラメータの最適化: PHP-FPMの主要パラメータを調整することで、VPSのリソースを効率的に使用することができます。

2. サービスの再起動: 設定変更後はPHP-FPMとWebサーバーのサービスを再起動します。

3. 連携設定の確認: NginxやApacheとの連携を確実にすることで、よりスムーズな動作が期待できます。

4. 監視とトラブルシュート: 定期的にパフォーマンスを確認し、必要に応じて調整を行います。

関連記事:

お気軽にご相談ください

お見積りへ お問い合わせへ