ここのページが参考になった。
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 にアクセスすると次のようになった。
めでたく完了。