{category}

PHP - サーバー設定

Nginx with PHP-FPM

エンジンエックス ウィズ ピーエイチピー エフピーエム(Webサーバー連携

意味 NginxとPHP-FPMの連携


Nginx with PHP-FPMとは?

Nginx with PHP-FPMは、NginxウェブサーバーとPHP FastCGI Process Manager (PHP-FPM)を組み合わせたPHP実行環境です。この構成では、NginxがリクエストをPHP-FPMに転送し、PHP-FPMがPHPスクリプトを実行します。

Nginx with PHP-FPMの具体的な使い方

Nginx設定ファイルでのPHP-FPM連携

# Nginxサーバーブロック内に以下を追加
server {
    listen 80;
    server_name example.com;
    root /var/www/html;

    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

この設定をNginxの設定ファイルに追加することで、Webサイトのルートディレクトリ、インデックスファイル、PHPファイルの処理方法を指定します。location ~ \.php$ ブロックで、.phpファイルへのリクエストをPHP-FPMに転送するように設定しています。

PHP-FPMプール設定

; PHP-FPM設定ファイル(例:www.conf)の内容
[www]
user = www-data
group = www-data
listen = /var/run/php/php7.4-fpm.sock
listen.owner = www-data
listen.group = www-data
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3

この設定は、PHP-FPMのプール設定ファイルの例です。ユーザーとグループ、ソケットファイルの場所、プロセス管理方法などを指定しています。pm = dynamicは動的にプロセス数を管理することを示しています。

Nginx with PHP-FPMに関するよくある質問

Q. Nginx+PHP-FPMの利点は?
A. 高性能、低メモリ消費、柔軟な設定が可能です。また、静的コンテンツと動的コンテンツの処理を分離できるため、効率的なリソース管理が可能です。
Q. PHP-FPMのプール設定とは?
A. PHP-FPMのワーカープロセスをグループ化して管理する機能です。異なるアプリケーションやユーザーごとに独立した設定を適用できます。
Q. Unix socketとTCP/IPの違いは?
A. Unix socketは同一マシン上の通信に高速ですが、TCP/IPは異なるマシン間の通信に使用されます。通常、ローカル環境ではUnix socketが推奨されます。

Nginx with PHP-FPMが学べる書籍の紹介

「プログラミング単語帳」を使って、プログラミングの単語を英単語のように学習してみませんか?
プログラミング単語帳には、PHPのNginx with PHP-FPMやApache mod_php、new、is_array()、などのような実務でよく使われる単語が数百以上収録されています。
この書籍には、プログラミングの単語の意味や読み方、単語の使い方がわかる例文などが掲載されており、いつでもどこでもプログラミングの学習ができます。

よく使われる単語にだけ絞って学習することができるので、効率的にプログラミングが学習できます。

1日5分の暗記でプログラミンが身に付く!プログラミング単語帳 公式ストアで発売中!

HTML編、CSS編、JavaScript編、PHP編、Ruby編、その他単語編の6シリーズ分が公式ストアにて販売中です。気になった方はぜひ購入してみてください。


PHPを学べる「プログラミング単語帳」アプリ

プログラミング単語帳がアプリになりました!PHPはもちろん、10種類のプログラミング言語の中から、よく使われる単語をスマホで学習できます。

収録単語は2,000単語以上!
現在は、HTML、CSS、JavaScirpt、PHP、Laravel、Ruby、Python、MySQL、Linux、など10カテゴリーの単語帳が1つのアプリに収録されています。

いつでも、どこでも、隙間時間を有効活用して、プログラミングを効率的に学べるので、ぜひダウンロードしてみてください。

2024年7月アップデート情報:「Laravel」カテゴリーが追加されましました!

2024年8月アップデート情報:「MySQL」「Linux」カテゴリーが追加されましました!


関連するそのほかの単語

Apache mod_php

ApacheのPHP実行モジュール

種類: サーバー設定

new

オブジェクトの作成

種類: オブジェクト

is_array()

配列かどうかを判定する関数

種類: 型チェック

Laravel

人気のPHPフレームワーク

種類: フレームワーク

if

条件が真なら実行

種類: 条件分岐