ここのページが参考になった。
cf. ubuntuのnginxでphpの環境設定と動作確認と使い方 – Joppot
php5-fpm をインストール
まずは、apt-get のリポジトリを最新にする。
takatoh@nightschool $ sudo add-apt-repository ppa:ondrej/php5 [sudo] password for takatoh: This branch follows latest PHP packages as maintained by me & rest of the Debian pkg-php team. You can get more information about the packages at https://sury.org If you need to stay with PHP 5.4 you can use the oldstable PHP repository: ppa:ondrej/php5-oldstable BUGS&FEATURES: This PPA now has a issue tracker: https://deb.sury.org/pages/bugreporting.html PLEASE READ: If you like my work and want to give me a little motivation, please consider donating: https://deb.sury.org/pages/donate.html 詳しい情報: https://launchpad.net/~ondrej/+archive/ubuntu/php5 [ENTER] を押すと続行します。ctrl-c で追加をキャンセルできます gpg: 鍵輪「/tmp/tmpbrietwz8/secring.gpg」ができました gpg: 鍵輪「/tmp/tmpbrietwz8/pubring.gpg」ができました gpg: 鍵E5267A6Cをhkpからサーバーkeyserver.ubuntu.comに要求 gpg: /tmp/tmpbrietwz8/trustdb.gpg: 信用データベースができました gpg: 鍵E5267A6C: 公開鍵“Launchpad PPA for Ondřej Surý”を読み込みました gpg: 処理数の合計: 1 gpg: 読込み: 1 (RSA: 1) OK
apt-get の情報をアップグレード。
takatoh@nightschool $ sudo apt-get upgrade
出力は長いので省略。
php5-fpm のインストール。
takatoh@nightschool $ sudo apt-get install php5-fpm パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 以下のパッケージが自動でインストールされましたが、もう必要とされていません: ax25-node firefox-locale-en libax25 linux-headers-3.13.0-34 linux-headers-3.13.0-34-generic linux-image-3.13.0-34-generic linux-image-extra-3.13.0-34-generic openbsd-inetd これを削除するには 'apt-get autoremove' を利用してください。 以下の特別パッケージがインストールされます: php5-common php5-json 提案パッケージ: php5-user-cache php-pear 以下のパッケージが新たにインストールされます: php5-common php5-fpm php5-json アップグレード: 0 個、新規インストール: 3 個、削除: 0 個、保留: 0 個。 2,667 kB のアーカイブを取得する必要があります。 この操作後に追加で 10.6 MB のディスク容量が消費されます。 続行しますか? [Y/n] Y 取得:1 http://jp.archive.ubuntu.com/ubuntu/ trusty/main php5-json amd64 1.3.2-2build1 [34.4 kB] 取得:2 http://jp.archive.ubuntu.com/ubuntu/ trusty-updates/main php5-common amd64 5.5.9+dfsg-1ubuntu4.7 [442 kB] 取得:3 http://jp.archive.ubuntu.com/ubuntu/ trusty-updates/universe php5-fpm amd64 5.5.9+dfsg-1ubuntu4.7 [2,191 kB] 2,667 kB を 1秒 で取得しました (1,354 kB/s) 以前に未選択のパッケージ php5-json を選択しています。 (データベースを読み込んでいます ... 現在 635170 個のファイルとディレクトリがインストールされています。) Preparing to unpack .../php5-json_1.3.2-2build1_amd64.deb ... Unpacking php5-json (1.3.2-2build1) ... 以前に未選択のパッケージ php5-common を選択しています。 Preparing to unpack .../php5-common_5.5.9+dfsg-1ubuntu4.7_amd64.deb ... Unpacking php5-common (5.5.9+dfsg-1ubuntu4.7) ... 以前に未選択のパッケージ php5-fpm を選択しています。 Preparing to unpack .../php5-fpm_5.5.9+dfsg-1ubuntu4.7_amd64.deb ... Unpacking php5-fpm (5.5.9+dfsg-1ubuntu4.7) ... Processing triggers for ureadahead (0.100.0-16) ... ureadahead will be reprofiled on next reboot Processing triggers for man-db (2.6.7.1-1ubuntu1) ... php5-common (5.5.9+dfsg-1ubuntu4.7) を設定しています ... Creating config file /etc/php5/mods-available/pdo.ini with new version php5_invoke: Enable module pdo for fpm SAPI Creating config file /etc/php5/mods-available/opcache.ini with new version php5_invoke: Enable module opcache for fpm SAPI php5-fpm (5.5.9+dfsg-1ubuntu4.7) を設定しています ... Creating config file /etc/php5/fpm/php.ini with new version php5_invoke pdo: already enabled for fpm SAPI php5_invoke opcache: already enabled for fpm SAPI php5-fpm start/running, process 10089 php5-json (1.3.2-2build1) を設定しています ... php5_invoke: Enable module json for fpm SAPI Processing triggers for ureadahead (0.100.0-16) ...
これでインストール完了。
php-fpmのsocketを変更
/etc/php5/fpm/pool.d に www.conf というファイルがある。これを編集…と思ったら、すでにソケットを利用する設定になっていた。
listen = /var/run/php5-fpm.sock
なので、変更なし。変更してないので、すでにソケットがあるはず。
takatoh@nightschool $ ls /var/run NetworkManager lock sendsigs.omit.d acpid.pid motd.dynamic shm acpid.socket mount sshd alsa network sshd.pid atd.pid network-interface-security systemd avahi-daemon nginx.pid udev crond.pid php5-fpm.pid udisks2 crond.reboot php5-fpm.sock upstart-file-bridge.pid cups plymouth upstart-socket-bridge.pid dbus pm-utils upstart-udev-bridge.pid initramfs pppconfig user kerneloops.pid resolvconf utmp lightdm rsyslogd.pid wpa_supplicant lightdm.pid sdp
php5-fpm.sock というのがそうだ。
Nginxの設定を変更
昨日作ったデフォルトホストの設定ファイル(/etc/nginx/sites-available/nightschool)を編集して、以下を追加する。
# For PHP location ~ \.php$ { root /var/www/html; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
Nginx に設定を反映。
takatoh@nightschool $ sudo nginx -s reload
PHPファイルを作成
/var/www/html の中に phpinfo.php を作成。
<!--?php phpinfo(); ?-->
ブラウザで確認
http://localhost/phpinfo.php にアクセスすると次のようになった。
めでたく完了。