2012年4月30日月曜日

php-fpmで”Starting php-fpm .... failed"になる

どうも、俺@連休満喫中です。
今日は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 .................................... failed
Oh!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
これでよし。

これで起動させれば、問題なく起動できます。


以上でぇぇぇえす。



0 件のコメント: