サーバー設定 · 1 min read · Sep 30, 2025
CentOS 8にNginxとPHP-FPMをインストールして設定する方法

Nginxは無料でオープンソースの、世界中で最も強力なウェブサーバーの1つです。主に高負荷および高トラフィックのウェブサイトで使用されます。Nginxはその安定性、シンプルな設定、低リソース消費で知られています。Nginxをウェブサーバーおよびリバースプロキシとして使用できます。
FPMはFastCGIプロセスマネージャーの略で、高トラフィックのウェブサイト向けに使用されるPHPの代替FastCGI実装です。PHPページを提供するためにウェブサーバーと共に一般的に使用されます。PHP-FPMは、PHPを実行する他の方法と比較して、メモリとCPUを少なく使用します。PHP-FPMは、マルチユーザーPHP環境において従来のCGIベースの方法よりも高速です。PHP-FPMは、同時に複数のPHPバージョンを実行することも可能です。
このチュートリアルでは、CentOS 8にPHP-FPMサポート付きのNginxをインストールする方法を学びます。
前提条件
- CentOS 8を実行しているサーバー。
- サーバーにルートパスワードが設定されていること。
始めに
デフォルトでは、CentOS 8サーバーではSELinuxが有効になっています。最初にこれを無効にする必要があります。
/etc/selinux/configファイルを編集することでこれを行うことができます:
nano /etc/selinux/config次の変更を加えます:
SELINUX=disabledファイルを保存して閉じます。その後、変更を適用するためにサーバーを再起動します。
Nginxウェブサーバーをインストールする
最初に、次のコマンドでNginxウェブサーバーをインストールします:
yum install nginx -yNginxがインストールされたら、次のコマンドでNginxサービスを開始し、ブート時に自動的に開始するように設定します:
systemctl start nginx
systemctl enable nginx完了したら、次のステップに進むことができます。
PHPとPHP-FPMをインストールする
次に、次のコマンドを実行してPHPとPHP-FPMをインストールします:
yum install php php-cli php-common php-fpm -yすべてのパッケージがインストールされたら、PHP-FPMサービスを開始し、システム再起動後に自動的に開始するように設定します:
systemctl start php-fpm
systemctl enable php-fpm次のコマンドでPHP-FPMサービスのステータスを確認することもできます:
systemctl status php-fpm次の出力が得られるはずです:
? php-fpm.service - The PHP FastCGI Process Manager
Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; disabled; vendor preset: disabled)
Active: active (running) since Thu 2019-10-17 05:39:11 EDT; 4min 40s ago
Main PID: 1475 (php-fpm)
Status: "Processes active: 0, idle: 5, Requests: 0, slow: 0, Traffic: 0req/sec"
Tasks: 6 (limit: 5060)
Memory: 28.5M
CGroup: /system.slice/php-fpm.service
??1475 php-fpm: master process (/etc/php-fpm.conf)
??1478 php-fpm: pool www
??1479 php-fpm: pool www
??1480 php-fpm: pool www
??1481 php-fpm: pool www
??1482 php-fpm: pool www
Oct 17 05:39:10 centos8 systemd[1]: Starting The PHP FastCGI Process Manager...
Oct 17 05:39:11 centos8 systemd[1]: Started The PHP FastCGI Process Manager.Nginxのインデックスページを作成する
次に、NginxがPHP-FPMを使用しているかどうかをテストするためのサンプルinfo.phpページを作成する必要があります。
次のように、Nginxのデフォルトのドキュメントルートディレクトリ内にinfo.phpを作成できます:
nano /var/www/html/info.php次の行を追加します:
完了したら、ファイルを保存して閉じます。
次に、info.phpファイルの所有権をnginxに変更します:
chown -R nginx: /var/www/html/info.php/NginxをPHP-FPMで設定する
次に、Nginxの仮想ホスト設定ファイルを作成し、PHP-FPMサポートを有効にする必要があります。
次のコマンドで作成できます:
nano /etc/nginx/conf.d/example.conf次の行を追加します:
server {
listen 80;
server_name example.com;
root /var/www/html/;
index info.php;
access_log /var/log/nginx/example.com.access.log;
error_log /var/log/nginx/example.com.error.log;
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;
}
location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ {
expires max;
log_not_found off;
}
}ファイルを保存して閉じます。次に、次のコマンドでNginxの構文エラーをテストします:
nginx -t次に、Nginxの仮想ホストファイルを有効にし、設定を適用するためにNginxサービスを再起動します:
systemctl restart nginxPHP-FPMサポートでNginxをテストする
今、ウェブブラウザを開き、URL http://example.comを入力します。次のページにリダイレクトされます:


上記のページでは、PHP-FPMがNginxウェブサーバーで読み込まれていることが確認できます。
結論
おめでとうございます!CentOS 8サーバーにPHP-FPMサポート付きのNginxを正常にインストールしました。これで、異なるバージョンのPHPを使用する複数のウェブサイトをホストするためにPHP-FPMを使用できます。
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。