発生問題
Nginxを起動させ、アクセスしたらBad Gatewayと言われた。
エラーログを見るとPermissionエラー。
*2 connect() to unix:/home/hoge.sock failed (13: Permission denied) while
connecting to upstream, client:192.168.1.170, server: 192.168.1.180,
request: "GET / HTTP/1.1", upstream: "http://unix:/home/hoge.sock:/"
開発環境
CentOS7
Nginx
Gunicorn
Django3.2.20
原因
-
.sock
ファイルがNginxからアクセスできない場所に置かれている - SELinuxのファイルアクセス制御によってアクセスできない
解決策
- SELinuxを一時無効化させる
setenforce 0
-
.sock
ファイルを/var/run/
などNignxからアクセスできる場所に作成する
nginx.confのuserをrootにするとアクセス出来ますが、セキュリティ上、危険なのでやめましょう