ubuntu里配置nginx访问flask+uwsgi请求链接返回502:connect() to unix:/home/ubuntu/myproject/myproject.sock failed

ubuntu里配置nginx访问uwsgi,请求的时候502,查看日志 tail -f /var/log/nginx/error.log报错connect() to unix:/home/ubuntu/myproject/myproject.sock failed (13: Permission denied) while connecting to upstream,。。。,困扰我半天,我决定要记录下

报错内容为:
connect() to unix:/home/ubuntu/myproject/myproject.sock failed (13: Permission denied) while connecting to upstream, client: 122.XX.XX.X, server: 175.XX.XX.XX, request: “GET / HTTP/1.1”, upstream: “uwsgi://unix:/home/ubuntu/myproject/myproject.sock:”, host: "175.XX.XX.XX:5000"

我做了如下操作,直到最后一步才搞定:

可以直接先试最后一步(从7开始)

1.使用id命令查看用户的私有组、默认组、基本,我当前用户名是ubuntu:

 id www-data

输出:
uid=33(www-data) gid=33(www-data) groups=33(www-data),500(ubuntu)
2. 使用usemod的命令可以把ubuntu用户加入到www-data组里:

 sudo usermod -a -G ubuntu www-data

3.再次查看:

 id www-data

输出:
uid=33(www-data) gid=33(www-data) groups=33(www-data),500(ubuntu)

4.查看报错对应文件所属的用户和用户组

namei -nom /home/ubuntu/myproject/myproject.sock

输出:
f: /home/ubuntu/myproject/myproject.sock·
drwxr-xr-x root root /
drwxr-xr-x root root home
drwx------ ubuntu ubuntu ubuntu
drwxrwxr-x ubuntu ubuntu myproject
srw-rw---- ubuntu www-data myproject.sock

5.修改报错文件所属文件夹权限:

 sudo chmod 755 /home/ubuntu/myproject/

6.一气之下,给报错文件的所有权限:

sudo chmod -R 777 /home/ubuntu/myproject/myproject.sock

7.查看nginx配置文件:

cat /etc/nginx/nginx.conf

输出:

8.修改nginx配置文件的用户为当前用户ubuntu:

sudo vim /etc/nginx/nginx.conf

9.重启nginx:

sudo systemctl restart nginx

搞定报错!!!!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值