今日はphp-fpmを起動させたときに起こったトラブルシューティングです。
phpv5.4.1をソースからインストールし、php-fpmの起動スクリプトを/etc/init.d以下へ設置します。
# cp php-5.4.1/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm # chmod +x /etc/init.d/php-fpm
これで起動させます。
# service php-fpm start Starting php-fpm .................................... failedOh!No! 起動失敗かよ!
と思いきや、psコマンドで見るとphp-fpm動いてる。
# ps axuw -H root 26983 0.0 0.3 98380 4056 ? Ss 00:53 0:00 php-fpm: master process (/usr/local/php-5.4.1/etc/php-fpm.conf) nginx 26984 0.0 0.4 98380 4412 ? S 00:53 0:00 php-fpm: pool www nginx 26985 0.0 0.4 98380 4420 ? S 00:53 0:00 php-fpm: pool www
コンソール上では起動失敗しているように見えますが、php-fpmプロセスは起動しています。なのでこのままでも動作はしますが毎回起動する度にエラーが出るので気持ち悪いです。
多分ですが、起動後にpidファイルの生成がうまくいかずエラー表記になってるみたいです。今度調べとかないと。。
なんて状況で困っているあなた。
調べてると、
http://serverfault.com/questions/195966/php-fpm-getting-a-failed-message-but-the-processes-start-ok
に答えがありました。
php-fpm.confファイルにあるpid fileに関するディレクトリがコメントアウトされているので「;(セミコロン)」を外せば良いようです。
# vim /path/to/php-fpm.comf
-----------------------------------------
25 ;pid = run/php-fpm.pid
26 pid = run/php-fpm.pid
これでよし。これで起動させれば、問題なく起動できます。
以上でぇぇぇえす。