502 Bad Gateway, я испортил права пользователей и групп в digitalocean ubuntu для развертывания django - PullRequest
0 голосов
/ 01 марта 2020
  1. Я успешно создал дроплет, сервер ubuntu 18.04 на digitalocen.
  2. Следовал руководству по установке digitalocean и запустил gunicorn, nginx, django et c. и успешно запустил веб-сайт в браузере, используя мой IP-адрес, т.е. брандмауэры, gunicorn и nginx, и все было настроено правильно.
  3. Во время тестирования при загрузке изображений в папку мультимедиа я получил ошибку "разрешения запрещены "(Ошибка POST).
  4. Нашел где-то приведенный ниже код в Google и решил, что он решает проблему, связанную с разрешениями: 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 () для unix: / run / gunicorn.sock fail (111: Соединение отказано) при подключении к восходящему каналу'

Заранее спасибо за помощь .

1 Ответ

0 голосов
/ 01 марта 2020

Полагаю, проблема в том, что, запустив sudo chmod -R 760 /var/www/, вы запретили владельцам папки не читать, записывать и выполнять файлы из этого каталога. Затем, поскольку процессы uwsgi не относятся к группе www-data (обычно), в соединении uwsgi было отказано.

Самый простой способ решить эту проблему - запустить sudo chmod -R 766 /var/www/ - это предоставит права на написание и чтение всем пользователям (chmod -R 764 также должно работать и безопаснее - разрешено только чтение файлов для не-владельцев) , В качестве альтернативы вы можете узнать имя пользователя, выполняющего uwsgi, и предоставить ему разрешения на чтение файлов из каталога. См. chmod руководство (или Google) для справки.

...