Nginx出现“连接()/hoge.sock失败(13: 权限被拒绝)”的解决方法
发生问题
查看错误日志发现了权限错误。
*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
Cause or reason
.sockファイルがNginxからアクセスできない場所に置かれている
SELinuxのファイルアクセス制御によってアクセスできない
解决方案
- SELinuxを一時無効化させる
setenforce 0
.sockファイルを/var/run/などNignxからアクセスできる場所に作成する
如果将nginx.conf文件中的user设置为root,可以访问,但出于安全考虑,请停止使用这种危险的方法。
文獻參考
-
- nginx+unicorn+railsで(13:Permission denied)
-
- SELinuxの無効化
- Nginx cannot access upstream .sock file and public folder