php-fpm.serviceとは?仕組みと使い方を初心者向けに解説共起語・同意語・対義語も併せて解説!

  • このエントリーをはてなブックマークに追加
php-fpm.serviceとは?仕組みと使い方を初心者向けに解説共起語・同意語・対義語も併せて解説!
この記事を書いた人

高岡智則

年齢:33歳 性別:男性 職業:Webディレクター(兼ライティング・SNS運用担当) 居住地:東京都杉並区・永福町の1LDKマンション 出身地:神奈川県川崎市 身長:176cm 体系:細身〜普通(最近ちょっとお腹が気になる) 血液型:A型 誕生日:1992年11月20日 最終学歴:明治大学・情報コミュニケーション学部卒 通勤:京王井の頭線で渋谷まで(通勤20分) 家族構成:一人暮らし、実家には両親と2歳下の妹 恋愛事情:独身。彼女は2年いない(本人は「忙しいだけ」と言い張る)


php-fpm.serviceとは?

php-fpm.service は、PHP を実行するための「ファストCGI」プロセスを管理する systemd のサービス名です。つまり、ウェブサイトの背後で動く PHP の処理を「どのくらいの数で、どのタイミングで起動するか」をコントロールしてくれる役割を持つ機能です。php-fpm(FastCGI Process Manager)は、複数のワーカープロセスを使い分散処理することで、同時に多くのリクエストを捌くことができます。これにより、従来の CGI よりも大幅に高速化され、ウェブサイトの応答性が上がります。

仕組みをかんたんに理解する

ウェブサーバー(Nginx や Apache など)は、PHP の処理を自分自身で実行するのではなく、php-fpm.service に処理を渡します。php-fpm は複数の PHP ワーカープロセスを「プール」と呼ばれる集合で用意し、ウェブサーバーからの PHP リクエストを順番に受け取り、適切なワーカープロセスで実行します。その結果、PHP の実行とウェブサーバーの応答が別々のプロセスで動くため、処理が軽くて速くなります。

はじめに知っておきたいポイント

php-fpm.service は Linux の systemd で管理されます。
・デフォルトの設定ファイルは、OS や PHP のバージョンによって場所が異なります。
・設定を変えるときは、変更を反映するために再起動が必要です。

基本的な運用方法

日常的には、以下の操作を覚えておくと便利です。

  • 起動sudo systemctl start php-fpm.service
  • 停止sudo systemctl stop php-fpm.service
  • 再起動sudo systemctl restart php-fpm.service
  • 自動起動の有効化sudo systemctl enable php-fpm.service
  • 状態の確認systemctl status php-fpm.service

特にウェブサーバーの設定を変更した場合は、php-fpm.service を再起動して新しい設定を読み込ませましょう。設定ファイルの場所は環境ごとに異なりますが、一般的には /etc/php-fpm.d//etc/php/7.x/fpm/pool.d/ の下にあります。設定ファイルをいじるときは、誤字やセキュリティ設定に注意してください。

よくあるトラブルと対処法

初心者が直面しがちな問題と対処のコツをまとめます。

問題:php-fpm.service が起動しない
設定ファイルに誤りがある場合や、ポートの競合がある場合に発生します。
対処法systemctl status php-fpm.serviceエラーメッセージを確認し、設定ファイルを修正してから systemctl restart php-fpm.service を実行します。
問題:反映されない設定
設定ファイルを編集した後は必ず再起動を行います。
対処法systemctl reload php-fpm.service でリロードできる場合もあります。
問題:ログが多すぎる
ログレベルを一時的に下げるか、ログローテーションの設定を見直します。

実務でのチェックリスト

下記のチェックリストを覚えておくと、トラブル時の対応が速くなります。

コマンド
systemctl status php-fpm.service 現在の状態を表示 active (running) か dead など
sudo systemctl restart php-fpm.service 設定を反映して再起動 再起動後に status を再確認
journalctl -u php-fpm.service --since "1 hour ago" 最近のログを確認 エラーの原因を絞り込み

まとめ

php-fpm.service は、PHP をウェブサイトで効率よく実行するための中核です。正しく管理すれば、サイトの応答速度が安定し、同時アクセスにも強くなります。初心者のうちは、起動/停止/再起動と状態の確認を丁寧に行い、設定ファイルを少しずつ理解していくと良いでしょう。もし困ったときは、公式ドキュメントの該当セクションやコミュニティの情報を参照して、少しずつ知識を積み上げてください。


php-fpm.serviceの同意語

php-fpm.service
systemd が管理する PHP-FPM のサービスユニットファイル名。起動・停止や自動起動設定などを定義した設定ファイルです。
PHP-FPMのsystemdユニット
systemd によって起動・監視される PHP-FPM のサービスユニットのこと。サーバの起動時に自動的に立ち上がることが多いです。
PHP-FPMサービス
PHP-FPM を起動・提供するためのサービスとしての機能を指す表現で、サービスとしての役割を強調します。
PHP-FPMデーモン
バックグラウンドで動作する PHP-FPM のデーモン(常駐プロセス)を指す表現です。
PHP-FPMの起動サービス
サーバ上で PHP-FPM を起動させる役割を持つサービスのことを指します。
PHP-FPMプロセスマネージャのサービス
PHP-FPM のプロセスを管理する役割を担うサービスのことを表します。
PHP-FPMのユニットファイル
systemd のユニットファイル(.service)としての設定を指す表現です。
PHP-FPM (FastCGI) サービス
PHP-FPM を FastCGI 経由で実行・提供するサービスを指す表現です。
php-fpmデーモン起動ユニット
php-fpm デーモンを起動するための systemd ユニットのことを指します。
PHP-FPMのサービスユニット
systemd が管理する PHP-FPM のサービスユニットを指す表現です。
PHP-FPMサーバーのサービス
PHP-FPM を動かすサーバー側のサービス全般を指す表現です。
php-fpm systemdサービス
systemd 上で提供される php-fpm のサービスを指します。
ファストCGIプロセスマネージャのサービス
PHP-FPM の別名であるファストCGIプロセスマネージャを提供するサービスの意味です。

php-fpm.serviceの対義語・反対語

停止中のphp-fpm.service
現在、実行されておらずリクエストを処理していない状態。systemctl status では inactive などと表示され、CPUもメモリも消費されません。
動作中のphp-fpm.service
現在、正常に起動していてリクエストを処理している状態。停止の反対語として挙げられる概念です。
無効化されたphp-fpm.service
自動起動設定が無効化され、再起動しても自動的には起動しません。手動で起動する必要があります。
自動起動なしのphp-fpm.service
systemd の自動起動設定がオフで、サーバ起動時に自動的には起動しない状態を指します。

php-fpm.serviceの共起語

systemd
Linuxのinit・サービスマネージャ。サービスの起動・停止・監視を統括し、php-fpm.serviceはsystemdで管理されるユニットです。
php-fpm
PHPのFastCGIプロセスマネージャ。PHPコードを高速に実行するバックエンドとして動作します。
php-fpm.service
systemdで管理されるサービスユニット。起動・停止・再読込などの操作対象となる名前です。
unitファイル
systemdの設定ファイル。サービスの実行コマンドや依存関係、起動条件を定義します。
systemctl
systemdを操作するコマンド群。start/stop/restart/statusなどを実行します。
enable
自動起動を有効化する操作。次回以降の起動時に自動でphp-fpmが立ち上がるよう設定します。
disable
自動起動を無効化する操作。再起動時に自動起動しないよう設定します。
start
サービスを現在のセッションで起動します。php-fpm.serviceを動作状態にします。
stop
サービスを現在のセッションで停止します。php-fpmのプロセスを終了させます。
restart
サービスを停止してから再起動します。設定変更を反映させるときに使います。
reload
設定ファイルを再読込して反映します。全プロセスの再起動を伴わないことがあります。
status
現在の動作状態(起動中・停止・エラーなど)を表示します。
journalctl
systemdのジャーナルログを閲覧するコマンド。特定ユニットのログを時系列で確認できます。
nginx
Nginxなどのウェブサーバーと連携してPHPを処理する代表的な組み合わせです。
apache
Apache HTTP Serverと連携してPHPを処理する構成も一般的です。
fastcgi
FastCGIプロトコルを介してウェブサーバーとPHP-FPMが通信します。
socket
php-fpmが待機するソケットファイル。UNIXソケットやTCPソケットを用います。
www.conf
FPMのプール設定ファイル。実行ユーザー・グループ・ワーカ数などをプールごとに設定します。
pool.d
複数のプール設定ファイルを格納するディレクトリ。www.conf以外の設定を追加する場合に使います。
php-fpm.conf
PHP-FPM全体のグローバル設定ファイル。起動時の挙動やログ設定などを定義します。
php.ini
PHPの全体設定ファイル。メモリ制限・タイムアウト・エラーレベルなどを調整します。
log
イベントやエラーなどの記録を保存するログの総称です。
error_log
エラーログ。PHP-FPMで発生したエラーの記録先を指します。
access_log
ウェブサーバー側のアクセスログ。通常はNginx/Apacheのログで、関連して参照されることがあります。
Debian
Debian系ディストリビューション。設定ファイルの場所やパッケージ構成に影響します。
Ubuntu
Ubuntu。Debian系ディストリビューションの一つで、設定ディレクトリやパッケージ名が若干異なることがあります。
CentOS
CentOS。Red Hat系ディストリビューションの一つで、パスやデフォルト設定が異なることがあります。
RHEL
Red Hat Enterprise Linux。企業向けの安定版環境での運用を想定した設定が多いです。
SELinux
セキュリティ拡張機構。php-fpmとウェブサーバー間のアクセス許可設定を適切に行う必要があります。

php-fpm.serviceの関連用語

php-fpm.service
systemd のユニットファイル。PHP-FPM を起動・停止・再起動させるための管理対象です。
systemd
Linux のサービス管理の仕組み。サービスの起動順序や自動起動設定を行います。
systemctl
systemd を操作するコマンド。start/stop/restart/status など、サービスの状態を操作します。
php-fpm
PHP-FPM(PHP FastCGI Process Manager)は、PHP の実行ワーカーを管理するデーモンです。
php-fpm.conf
全体設定ファイル。ログの出力先・ソケット/ポート・プール設定の共通設定を記述します。
pool
プールはサイトやアプリごとに分ける PHP-FPM のワーカープール。独立した設定を適用します。
www.conf
デフォルトのプール設定ファイル。実運用では pool.d に個別ファイルとして配置されます。
pool.d
プールごとの設定ファイルを格納するディレクトリ。
listen
PHP-FPM が待機する通信先。UNIXソケットまたは TCP アドレスを指定します。
listen.owner
ソケットファイルの所有者。セキュリティ上の設定です。
listen.group
ソケットファイルのグループ。セキュリティとアクセス制御に関係します。
listen.mode
ソケットのパーミッション。ウェブサーバーが接続できるよう設定します。
php-fpm.sock
UNIXソケットファイル。ネットワーク通信を使わずに高速に連携します。
pm
PHP-FPM のプロセス管理モード。dynamic/static/ondemand のいずれかを選択します。
pm.dynamic
需要に応じてワーカを自動的に増減する動的モード
pm.static
常時一定数のワーカを維持する静的モード
pm.max_children
プールあたりの同時最大ワーカ数。処理能力の目安になります。
pm.start_servers
起動時に立ち上げる初期ワーカ数。起動時間と処理量のバランスを調整します。
pm.min_spare_servers
アイドル状態の最小ワーカ数。待機リクエストへの即応性を確保します。
pm.max_spare_servers
アイドル状態の最大ワーカ数。過剰なアイドルを抑えます。
php-fpm.pid
PHP-FPM のメインプロセスの PID を記録するファイル。
error_log
エラーログの出力先。障害の原因追跡に使います。
slowlog
遅延リクエストを記録する遅延ログ。パフォーマンス問題の特定に役立ちます。
pm.status_path
ウェブ経由で現在のプール状況を確認できるパス(監視用URL)。
nginx
代表的なウェブサーバー。FastCGI 経由で PHP-FPM と連携します。
Apache
別のウェブサーバー。mod_proxy_fcgi などを使い PHP-FPM に接続します。
php.ini
PHP の実行時設定ファイル。メモリ制限やタイムアウトなどを調整します。
php-fpm --test
設定ファイルの文法チェックを行うコマンド。エラーを先に見つけられます。
journalctl
systemd のログ閲覧コマンド。php-fpm.service のログを確認できます。
SELinux
セキュリティ機能。ソケットやファイルへのアクセス権を制御します。
AppArmor
Ubuntu などで使われるセキュリティ機構。php-fpm の動作を制限する設定を行います。
logrotate
長期間運用時のログファイルを定期的に圧縮・運用する仕組み。

インターネット・コンピュータの人気記事

awstatsとは?初心者でもわかる使い方と基本解説共起語・同意語・対義語も併せて解説!
14593viws
bing・とは?初心者のための基本ガイド:検索エンジンの仕組みと使い方共起語・同意語・対義語も併せて解説!
2434viws
着信転送とは?初心者向けガイドで分かる使い方と設定のコツ共起語・同意語・対義語も併せて解説!
1083viws
差し込み印刷・とは?初心者でもすぐわかる使い方と仕組みガイド共起語・同意語・対義語も併せて解説!
1064viws
com端子・とは?初心者にも分かる基礎ガイド|シリアルポートの使い方と歴史を解説共起語・同意語・対義語も併せて解説!
950viws
充電アダプターとは何かを徹底解説|初心者でも分かる基本と選び方のコツ共起語・同意語・対義語も併せて解説!
916viws
7zファイル・とは?初心者でもわかる使い方と特徴を解説共起語・同意語・対義語も併せて解説!
865viws
全角文字とは?初心者向け解説|全角と半角の違いをやさしく学ぶ共起語・同意語・対義語も併せて解説!
858viws
pinロックとは?初心者が知っておくべき基本と使い方ガイド共起語・同意語・対義語も併せて解説!
806viws
リマインドメールとは?初心者にもわかる基本ガイドと使い方のコツ共起語・同意語・対義語も併せて解説!
801viws
none とは?初心者にもやさしく解説する意味と使い方ガイド共起語・同意語・対義語も併せて解説!
733viws
16進数カラーコード・とは?初心者でもつまずかない基礎と使い方ガイド共起語・同意語・対義語も併せて解説!
717viws
xlsmとは?初心者でも分かるExcelのマクロ付きファイルの基本共起語・同意語・対義語も併せて解説!
613viws
asp・とは?初心者向けに徹底解説する基本と使い方ガイド共起語・同意語・対義語も併せて解説!
607viws
ローカルポート・とは?初心者にも分かる基本と使い方ガイド共起語・同意語・対義語も併せて解説!
596viws
countifとは?初心者でもすぐ使える基本と応用ガイド共起語・同意語・対義語も併せて解説!
556viws
ワンタイムコード・とは?初心者でも分かる基本と使い方ガイド共起語・同意語・対義語も併せて解説!
536viws
csvダウンロードとは?初心者が今すぐ使える基本ガイド共起語・同意語・対義語も併せて解説!
515viws
sha256とは?初心者が知るべき暗号ハッシュの基礎と使い道共起語・同意語・対義語も併せて解説!
495viws
googleドキュメントとは?初心者が今日から使いこなす基本ガイド共起語・同意語・対義語も併せて解説!
483viws

新着記事

インターネット・コンピュータの関連記事