Nginx で PHP を使用するには、PHP の FastCGI 実装が必要です。
今回は PHP の FastCGI 実装の1つである PHP5-FPM(PHP FastCGI Process Manager) を使用します。
0. 前提条件
- Linux Mint 14 Nadia (64bit) での作業を想定。
- Nginx 1.2.6 がソースビルドによりインストール済み。
- パッケージを利用してインストールした Nginx とはディレクトリ構成等が若干異なる。 (別途作成したヴァーチャルホストの設定ファイルを取り込む形式になっていたり・・・)
- PHP 5.4.6 がインストール済み。(古いバージョンだと作業が異なるかも知れない)
1. PHP5-FPM インストール
PHP5-FPM(PHP FastCGI Process Manager) が未インストールなら、Synaptic パッケージマネージャか apt 等でインストールしておく。
(環境によっては、他にも必要なパッケージがあるかも知れません。適宜対応してください)
apt-get
でインストールするなら、以下のようにする。
1
|
|
2. PHP5-FPM インストール確認
インストールできているかをコマンドで確認するなら以下のようにする。
fpm-fcgi
が表示されることを確認する。
1 2 3 4 |
|
3. PHP5-FPM 設定
設定ファイルは、/etc/php5/fpm/php-fpm.conf
と /etc/php5/conf.d/
ディレクトリ配下のファイルで行う。
しかし、今回は特に編集はせずデフォルトのままとした。
4. Nginx 設定
Nginx の設定を編集する。(当方の環境では /usr/local/nginx/conf/nginx.conf
)
server
ディレクティブ内に以下のような記述を追加する。
1 2 3 4 5 6 7 8 9 |
|
既存のコメントアウトされている部分を解除・編集している。
編集したのは fastcgi_param
の部分。
5. サンプルページ作成
PHP 動作確認用のページを作成する。
取り急ぎ、サーバルート(当方の環境の場合は /var/www/html/
)に以下のような PHP 情報を表示するスクリプトを作成した。
1
|
|
6. PHP5-FPM 起動
以下のようにして PHP5-FPM サービスを起動する。
1
|
|
7. Nginx 起動
Nginx が起動していなければ起動し、起動していればリロードする。
8. 動作確認
ブラウザで http://127.0.0.1/phpinfo.php
にアクセスしてみて、以下のようなページが表示されれば OK.
Server API
が FPM/FastCGI
となっていることを確認する。
また、少し下部の cgi-fcgi
部分で php-fpm
が active
になっていることにも確認する。
これで、Nginx で PHP ページが表示できるようになりました。
少し前に、ブログを PHP ベースの WordPress から Ruby 製静的 CMS の Octopress に変更しました。
しかし、当方のサーバ内では多少なりとも PHP を使っている部分もあるので、いずれ Apache から Nginx に完全に移行することを考えると、今回の作業は有用でありました。
以上。