You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Gunicorn Socket权限拒绝引发502 Bad Gateway问题求助

2024/09/29 14:04:13 [crit] 6631#6631: *1 connect() to unix:/home/ubuntu/myproject/Ecom_project/ecom_p/gunicorn.sock failed (13: Permission denied) while connecting to upstream, client: 103.175.89.121, server: ecomweb-abhishadas.buzz, request: "GET / HTTP/1.1", upstream: "http://unix:/home/ubuntu/myproject/Ecom_project/ecom_p/gunicorn.sock:/", host: "www.ecomweb-abhishadas.buzz"

已尝试的操作

  • 检查Socket权限:执行命令 ls -l /home/ubuntu/myproject/Ecom_project/ecom_p/gunicorn.sock 验证socket文件权限,确认Nginx用户(www-data)无访问权限。
  • 修改Socket权限:使用chmod调整权限确保Nginx用户可访问,示例命令:sudo chmod 660 /home/ubuntu/myproject/Ecom_project/ecom_p/gunicorn.sock
  • 设置Socket所有权:将socket文件设为Gunicorn运行用户所有,示例命令:sudo chown ubuntu:www-data /home/ubuntu/myproject/Ecom_project/ecom_p/gunicorn.sock
  • 重启服务:重启Nginx和Gunicorn应用更改,命令:
    • sudo systemctl restart nginx
    • sudo systemctl restart gunicorn(或对应启动Gunicorn的特定命令)

预期效果

调整权限和所有权后,Nginx可正常连接Gunicorn,解决站点502 Bad Gateway错误,正常提供Django应用服务。

Nginx配置文件内容

upstream app_server {
    server unix:/run/gunicorn.sock fail_timeout=0;
}

server {
    listen 80;

    server_name ecomweb-abhishadas.buzz www.ecomweb-abhishadas.buzz;

    root /var/www/ecomweb-abhishadas.buzz;
    # Serve static files
    location /static/ {
        alias /home/ubuntu/myproject/Ecom_project/ecom_p/static/;
    }


    # Pass requests to Gunicorn
     location / {
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_pass
http://unix:/home/ubuntu/myproject/Ecom_project/ecom_p/gunicorn.sock;
    }
}

内容的提问来源于stack exchange,提问作者Abhisha Das

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 22:07:46