Nginx は「Engine-X」と発音され、Web サーバーおよびリバース プロキシ サーバーです。 Nginx は、リソースを最適に使用して多数のリクエストを同時に処理する速度と能力でよく知られています。
PHP-FPM は「PHP-FastCGI プロセス マネージャー」の略です。 CGI は、Web サーバーと動的コンテンツ提供プログラムの間のインターフェースとして機能するようにスクリプト化された共通ゲートウェイ インターフェースを指します。 Web サーバー自体と同じようにポートをリッスンし、PHP と Web サーバーの間でリクエストを渡します。
このチュートリアルでは、Nginx で PHP プログラムを実行するのに役立つ、PHP-FPM を使用して Nginx をインストールおよび構成する方法について説明します。
前述の Apache と Nginx で説明したように、Nginx と比較すると、Apache重い負荷を処理し、多数のリクエストを処理している間は比較的遅くなります。
1. Nginx をインストール
ソースから Nginx をインストールするか、ディストリビューションに付属のパッケージ管理ツールを使用してインストールできます。
たとえば、Ubuntu では、以下に示すように apt-get を使用して nginx をインストールできます。
$ sudo apt-get install nginx
以下に示すように、nginx サーバーを起動します。
$ sudo service nginx start
http://{your-ip-address} にアクセスして、Nginx のウェルカム ページが表示されていることを確認してください。
2. PHP5-FPM をインストール
次に、ディストリビューションに付属のパッケージ管理ツールを使用して php5-fpm をインストールします。
たとえば、Ubuntu では、以下に示すように apt-get を使用して php5-fpm をインストールできます。
$ sudo apt-get install php5-fpm
3. Nginx に PHP 構成を追加
次に、/etc/nginx/sites-available/default ファイルを変更し、次の行を追加します。
$ sudo vi /etc/nginx/sites-available/default server { listen 80; root /usr/share/nginx/www; index index.php index.html index.htm; server_name example.com; location / { try_files $uri $uri/ /index.html; } error_page 404 /404.html; error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/www; } # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 location ~ \.php$ { try_files $uri =404; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
4. php5-fpm www.conf でリッスン パラメータを設定
次に、php-frpm 構成で次の変更を行う必要があります。
デフォルトでは、www.conf ファイルに次のリッスン エントリが表示されます
$ sudo vi /etc/php5/fpm/pool.d/www.conf listen = 127.0.0.1:9000
www.conf ファイルでは、すべてをそのままにして、上記のリッスン行を以下に示す行に置き換えます。
$ sudo vi /etc/php5/fpm/pool.d/www.conf listen = /var/run/php5-fpm.sock
5. Nginx と PHP5-FPM を再起動してテストします
以下に示すように、php5-fpm と nginx を再起動します
$ sudo service nginx restart $ sudo service php5-fpm restart
最後に、nginx ドキュメント ルートに次の index.php ファイルを作成し、テストします。
$ sudo vi /usr/share/nginx/www <?php phpinfo( ); ?>
最後に、ブラウザを開いて http://localhost/index.php に移動します (または IP アドレスを使用します)。これにより、index.php ファイルが実行され、php 情報が表示されます。