nginxとは何か?
nginx(エンジンエックス)は、高速なWebサーバーとして知られています。多くのリクエストを同時に処理できる能力があり、特に静的コンテンツの配信に優れています。静的コンテンツとは、画像やCSSファイルのように変わらないファイルのことを指します。しかし、動的コンテンツを配信するためにはどうするのでしょうか?そこで登場するのがPHP-FPMです。
PHP-FPMとは?
PHP-FPM(PHP FastCGI Process Manager)は、PHPを実行するためのプログラムです。Webページがユーザーのリクエストに応じて内容を変える場合、PHPがその処理を担います。PHP-FPMは、複数のPHPプロセスを効率よく管理し、高速で安定した動的コンテンツの配信を実現します。
nginxとPHP-FPMの連携方法
それでは、nginxとPHP-FPMを連携させて動的コンテンツを配信する方法を説明します。以下の手順で設定を行います。
1. nginxをインストールする
まず最初に、nginxをインストールします。Linuxベースのシステムでは、以下のコマンドを実行することでインストールできます。
sudo apt-get update
sudo apt-get install nginx
2. PHP-FPMのインストール
次に、PHPとPHP-FPMをインストールします。こちらも、以下のコマンドで実行できます。
sudo apt-get install php php-fpm
3. nginxの設定ファイルを編集する
nginxとPHP-FPMの連携ができるように、nginxの設定ファイルを編集します。設定ファイルは通常 /etc/nginx/sites-available/default にあります。以下のように編集します。
server {
listen 80;
server_name your_domain.com;
root /var/www/html;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}
}
4. サーバーの再起動
設定が完了したら、nginxを再起動して設定を反映させます。
sudo systemctl restart nginx
動的コンテンツを確認する
設定が完了後、動的コンテンツを確認するために、PHPのテストファイルを作成します。/var/www/html ディレクトリに info.php というファイルを作り、以下の内容を記述します。
<?php
phpinfo();
?>
ブラウザで http://your_domain.com/info.php にアクセスすると、PHPの情報ページが表示されるはずです。これでnginxとPHP-FPMの連携が成功していることが確認できました。
まとめ
nginxとPHP-FPMの連携は、動的コンテンツを効率よく配信するための強力な手法です。まずは基本的なインストールと設定を行い、自分のサイトで試してみることをお勧めします。