gpt4 book ai didi

django - 502 Bad Gateway,我弄乱了用于 django 部署的 digitalocean ubuntu 上的用户和组权限

转载 作者:行者123 更新时间:2023-12-04 18:50:08 27 4
gpt4 key购买 nike

  • 我在 digitalocen 上成功创建了一个 droplet,一个 ubuntu 18.04 服务器。
  • 按照安装 digitalocean 的指南并运行 gunicorn、nginx、django 等,并使用我的 IP 地址(即防火墙、gunicorn 和 nginx)在浏览器上成功运行网站,并且一切都配置正确。
  • 在将图像上传到媒体文件夹的测试期间,我收到错误“权限被拒绝”(POST 错误)。
  • 在谷歌某处找到以下代码,并认为它解决了权限相关问题:https://www.semicolonworld.com/question/55551/django-errno-13-permission-denied-39-var-www-media-animals-user-uploads-39
  • sudo groupadd varwwwusers
    sudo adduser www-data varwwwusers
    sudo chgrp -R varwwwusers /var/www/
    sudo chmod -R 760 /var/www/

    但是上面的代码搞砸了一切并遇到了“502 Bad Gateway”。

    我对 Linux 部署不是很熟悉。有人可以帮我调查和解决这个问题。我想我搞砸了用户,组权限。

    我怎样才能解决这个问题,或者我怎样才能恢复我所做的事情,或者是否有任何我可以查看和调查的事件日志。

    我检查了 error.log 并且能够看到
    'connect() to unix:/run/gunicorn.sock 连接到上游时失败(111:连接被拒绝)'

    我在这里先向您的帮助表示感谢。

    最佳答案

    我想问题是通过运行 sudo chmod -R 760 /var/www/您已禁止该文件夹的非所有者从该目录读取、写入和执行文件。然后,由于 uwsgi 进程不属于 www-data 组(通常),uwsgi 连接被拒绝。

    解决这个问题最简单的方法是运行 sudo chmod -R 766 /var/www/ - 这将授予任何人写入和读取权限(chmod -R 764 也应该工作并且更安全 - 它只允许读取非所有者的文件)。或者,您可以找出运行 uwsgi 的用户的名称,并授予他从目录中读取文件的权限。见 chmod手册(或谷歌它)供引用。

    关于django - 502 Bad Gateway,我弄乱了用于 django 部署的 digitalocean ubuntu 上的用户和组权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60473735/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com