nginx + php TCPでアクセスできなかった時のメモ
環境
nginx 1.13.8
php 7.0
表題の件ですが結論から言うと
初めてnginxを使ったので設定の仕方がわからず間違っていた。。。
(まぁ大体理由なんてこんなもんです・・・)
間違っていた箇所はTCPにしたいなら
例えばnginxの設定ファイル
/etc/nginx/conf.d/default.conf
location ~ \.php$ {
・・・省略・・・
}
なんかでfastcgi_passをunixソケットではなく
fastcgi_pass 127.0.0.1:9000;
#fastcgi_pass unix:/var/run/php/php-fpm.sock;
みたいにするんですが、
(unixソケットの方はここでわかりやすいように残しています)
php-fpm の設定で例えば
/etc/php/fpm/pool.d/www.conf
の中で
listen = /run/php/php7.0-fpm.sock
listenがphp-fpmになっているからダメだったと思います。
listen = 127.0.0.1:9000
;listen = /run/php/php7.0-fpm.sock
結論的にこことfpmのwww.confのlisten.ownerとlisten.groupを以下のようにして
listen.owner = nginx
listen.group = nginx
アクセスできるようになったので原因はここかと思います。
後にデフォルトの
listen.owner = www-data
listen.group = www-data
これに戻してアクセスしましたが普通にできました。
逆にunixソケットの場合はコメントアウトしている箇所が入れ替わる感じです。
unixソケットの場合はlisten.owner listen.groupはnginxになるかもしれません。調べているときにunixソケットの場合はそんな記事を見かけたのでこの設定をTCPなんですけどいじってみたというオチです。
こんなことベテランの方からしたら何やってんの?と言う感じでしょうが未経験なので躓きついでのメモ
コメント
コメントを投稿