PHP FPM(FastCGI Process Manager)は、PHPベースのWebサイトをNginx Webサーバーにデプロイするために使用されます。 FPMは、PHPでFastCGI SAPI(サーバーAPI)を管理するためのプロセスマネージャーです。このチュートリアルは、Ubuntu 20.04システムにPHP-FPMを使用してNginxをインストールおよび構成するのに役立ちます。
前提条件
Ubuntu 20.04システムへのsudo特権アカウントによるシェルアクセス。
ステップ1 – Nginxのインストール
Nginxパッケージはデフォルトのリポジトリで利用できます。 sudo特権アカウントを使用してUbuntu 20.04 LTSシステムにSSHで接続し、公式リポジトリからNginx Webサーバーをインストールします。
sudo apt update sudo apt install nginx
ステップ2 – PHPのインストール
PHPのインストールには、Ubuntuシステム用の最新のPHPバージョンを提供するppa:ondrej / php PPAの使用をお勧めします。以下の2つのコマンドを使用して、PPAをシステムに追加します。
sudo apt install software-properties-common sudo add-apt-repository ppa:ondrej / php
次に、このチュートリアルを作成した日に入手可能な最新バージョンのPHP 7.4をインストールします。 PHPおよびPHP-FPMパッケージをインストールするには、次のコマンドを実行するだけです。
適切な更新 sudo apt install php7.4 php7.4-fpm
上記のパッケージをインストールすると、php7.4-fpmサービスが自動的に開始されます。端末で以下のコマンドを入力して確認できます。
sudo systemctl status php7.4-fpm ● php7.4-fpm.service - The PHP 7.4 FastCGI Process Manager Loaded: loaded (/lib/systemd/system/php7.4-fpm.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2020-06-16 05:15:57 UTC; 1 day 10h ago Docs: man:php-fpm7.4(8) Main PID: 882699 (php-fpm7.4) Status: "Processes active: 0, idle: 2, Requests: 2, slow: 0, Traffic: 0req/sec" Tasks: 3 (limit: 2283) Memory: 12.1M CGroup: /system.slice/php7.4-fpm.service ├─882699 php-fpm: master process (/etc/php/7.4/fpm/php-fpm.conf) ├─882714 php-fpm: pool www └─882715 php-fpm: pool www Jun 16 05:15:57 tecadmin systemd[1]: Starting The PHP 7.4 FastCGI Process Manager... Jun 16 05:15:57 tecadmin systemd[1]: Started The PHP 7.4 FastCGI Process Manager.
ステップ4 – FPMを使用したNGINXの構成
次に、Nginxサーバーブロック構成ファイルを作成して、FPMでPHPを実行します。テキストエディターでVirtualHostホスト構成ファイルを作成および編集します。要件に応じて新しいVirtualHostを作成できるため、必ず新しいVirtualHostを有効にしてください。
sudo vim /etc/nginx/sites-available/example.com
以下の基本的なNginx仮想ホスト構成をphp fpm設定で使用します。以下のように設定を更新します。
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
server {
listen 80;
root /var/www/html;
index index.php index.html index.htm;
server_name example.com;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}
}
|
変更を構成ファイルに保存し、サイトが有効なディレクトリへのリンクを作成します。
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/example.com
次に、Nginxサービスを再起動して変更を再読み込みします。
sudo systemctl restart nginx
ステップ4 –セットアップのテスト
これでサーバーのセットアップが完了しました。 phpinfo()関数を使用してPHPスクリプトを作成し、サーバーのドキュメントルートに配置しましょう。以下のコマンドを使用して、phpスクリプトを作成します。
echo "<?php phpinfo(); ?>" > /var/www/html/info.php
次に、サーバーIPアドレス(デフォルトのVirtualHostの場合)またはNginx VirtualHostで構成されたドメインを使用してinfo.phpにアクセスします。
ページを下にスライドして、 $ _SERVER [‘SERVER_SOFTWARE’]の値を確認します。これにより、Webサーバーの詳細が表示されます。
結論
このチュートリアルでは、Ubuntu 20.04 LinuxシステムでPHP-FPMを使用してNginx Webサーバーを構成する方法を学びました。