Connect() to unix:/home/glenn/blog.sock failed (13: Permission denied) while connecting to upstream

Я следую этому руководству https://www.digitalocean.com/community/tutorials/how-to-set-up-django-with-postgres-nginx-and-gunicorn-on-ubuntu-22-04#introduction для развертывания моего проекта django с помощью gunicorn на сервере ubuntu 22.04, и я думаю, что мой конфигурационный файл в порядке. Однако когда я пытаюсь зайти на свой Ip-адрес на сервере, я получаю ошибку 502 getway. Когда я проверяю журнал ошибок, я получаю следующее сообщение:

2022/08/09 22:05:36 [crit] 7960#7960: *5 connect() to unix:/home/glenn/blog.sock failed (13: Permission denied) while connecting to upstream, client: 197.231.183.74, server                                                                                  : 67.205.168.227, request: "GET / HTTP/1.1", upstream: "http://unix:/home/glenn/blog.s                                                                                  ock:/", host: "67.205.168.227"

Я изучил документацию https://www.digitalocean.com/community/tutorials/how-to-set-up-django-with-postgres-nginx-and-gunicorn-on-ubuntu-22-04#troubleshooting-nginx-and-gunicorn, чтобы проверить возможные руководства по устранению неполадок, и мне посоветовали проверить права доступа. После этого я получил следующий журнал ошибок

drwxr-xr-x root  root     /
drwxr-xr-x root  root     home
drwxr-x--- glenn glenn    glenn
srwxrwxrwx glenn www-data blog.sock

Кто-нибудь знает конкретную команду, которую я могу использовать для изменения разрешений? Или как я могу отредактировать мой файл sudo nano /etc/nginx/sites-available/blog, чтобы изменить разрешения

вот как выглядит мой файл sudo nano /etc/nginx/sites-available/blog


server {
        listen 80;
        server_name 67.205.168.227;

        location = /favicon.ico { access_log off; log_not_found off; }
        location /static/ {
                root /home/glenn/blog;
        }

        location /media/ {
                root /home/glenn/blog;
     }

        location / {
                include proxy_params;
                proxy_pass http://unix:/home/glenn/blog.sock;
        }
}

Вот мой файл gunicorn.service

[Unit]
Description=gunicorn daemon
Requires = gunicorn.socket
After=network.target

[Service]
User=glenn
Group=www-data
WorkingDirectory=/home/glenn/blog
ExecStart=/home/glenn/blog/env/bin/gunicorn \
        --access-logfile - \
        --workers 3 \
        --bind unix:/home/glenn/blog.sock \
        blog.wsgi:application

[Install]
WantedBy=multi-user.target

Обратите внимание, что это ubuntu 22.04. Любая помощь будет оценена

Итак, я обнаружил, что проблема заключается в том, что я запускал отладку как True (Вы не можете работать с включенной отладкой во время производства). Затем я также изменил разрешения на чтение/запись, поскольку пользователь должен иметь доступ ко всем файлам в каталоге, используя команду chmod og+x /home/lamnk

Вернуться на верх