php-fpmとfcgiwrapをTCP Socketで動かしていたのですが、色々調べてるうちにUNIX Socketのほうがよさそうな気がしたのでUnix Socketで動かすことにしました。
php-fpmは問題なかったのですが、fcgiwrapのほうが死んでいました。
netstat -aで調べてみてもちゃんとLISTENしてるしなーと思ってnginxのエラーログを見たら以下のエラーが出力されていました。
unix:/var/run/fcgiwrap.socket failed (13: Permission denied)
www-dataに権限がないらしいので/var/run/fcgiwrap.socketのパーミッションを777にして無理やり解決しました。どうやったら根本的に解決するんだこれ。
追記
自己解決して追記を書いてませんでした。nginxの実行ユーザがwww-dataじゃなかったのが原因でした。
/etc/nginx/nginx.confのuserでnginxの実行ユーザを変更可能です。
/etc/init.d/fcgiwrapをそれにあわせて変更するとfcgiwrap.socketのパーミッションが設定通りになります。
設定箇所は以下。
FCGI_USER=”nginxの実行ユーザ”
FCGI_GROUP=”nginxの実行グループ”