はじめに
- 今回はNginxのバージョンアップ作業をしていてハマリどころ、実際にハマった点を元にまとめます
- Nginx1.4系から1.10系のバージョンアップで試してみた
構成的な所
Nginx + php-fpm + phpでwebサーバを構築してて、Nginxのバージョンアップをしようとした
Upgrade
upgradeはnginx-buildをchef経由で使わせてもらってます
https://github.com/cubicdaiya/nginx-build
nginx-buildとは
ハマった点
すべては下記のNginxのエラーログが出たのがはじまり
yyyy/mm/dd hh:mm:ss [crit] 14114#0: *7 connect() to unix:/var/run/php-fpm/php-fpm.sock failed (13: Permission denied)
原因
- 端的に言うとnginxのbuild時のuser,group設定が足らなかった
- nginxのbuild時のuser,groupの設定
nginx-build \
-d work \
-v #{nginx_version} \
--user=nginx \ ここの設定が抜けてた
--group=nginx \ ここの設定が抜けてた
.
.
.
- php-fpmでは下記の設定がされている
/etc/php-fpm.d/www.conf
listen.owner = nginx
listen.group = nginx
まぁ/etc/php-fpm.d/www.conf
の方を修正してもいけると思うけど、Nginxのbuildをやり直した
- php,php-fpm
- socket permission
- 下記の情報が元ネタですが、パーミッションの設定のデフォルト設定が変わった点
- https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0185
アクセスするのがすべてローカルユーザで安全なら以前のように666で良いと思われる
/etc/php-fpm.d/www.conf
listen.mode = 0666
その他メモ
- NginxのDefaultのconfigに何か変更点とかあるかなぁと思ったけどほぼなかった
最後に
-
/etc/php-fpm.d/www.conf
の設定ばかり疑っていてnginxのbuildのオプションが他ならなかった事に気付かず消耗した - みなさん同じ轍を踏まぬように公開しておく