2017-01-31 6 views
3

Попытка настроить сайт с Джанго и gunicorn получаю эту ошибку в файле журнала Nginx:Gunicorn и Джанго разрешение ошибка отказано в носке

2017/01/31 07:04:50 [crit] 30386#30386: *1 connect() to unix:/home/ubuntu/webapps/kenyabuzz/kb.sock failed (13: Permission denied) while connecting to upstream, client: 197.232.12.165, server: kenyabuzz.nation.news, request: "GET/HTTP/1.1", upstream: "http://unix:/home/ubuntu/webapps/kenyabuzz/kb.sock:/", host: "kenyabuzz.nation.news" 

статические файлы подаются правильно. Файл gunicorn в Nginx/сайты с поддержкой настройки

#kb gunicorn nginx settings 

server { 
    listen 80; 
    server_name kenyabuzz.nation.news; 

    charset  utf-8; 

    # max upload size 
    client_max_body_size 75M; # adjust to taste 

    # Django media 
    location /media { 
     alias /home/ubuntu/webapps/kenyabuzz/kb/media; # your Django project's media files - amend as required 
    } 

    location /static { 
     alias /home/ubuntu/webapps/kenyabuzz/kb/static; # your Django project's static files - amend as required 
    } 

    location /favicon.ico { 
     alias /home/ubuntu/webapps/kenyabuzz/kb/static/kb/favicon.ico; # favicon 
    } 


    location/{ 
     include proxy_params; 
     proxy_pass http://unix:/home/ubuntu/webapps/kenyabuzz/kb.sock; 
    } 
} 

и gunicorn установки /etc/systemd/system/gunicorn.service

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

[Service] 
User=ubuntu 
Group=www-data 
WorkingDirectory=/home/ubuntu/webapps/kenyabuzz 
ExecStart=/home/ubuntu/djangoenv/bin/gunicorn --workers 10 --bind unix:/home/ubuntu/kenyabuzz/kb.sock kb.wsgi:application 

[Install] 
WantedBy=multi-user.target 

проверил состояние gunicorn

[email protected]-133:/etc/nginx/sites-enabled$ sudo systemctl status gunicorn 
● gunicorn.service - gunicorn daemon 
    Loaded: loaded (/etc/systemd/system/gunicorn.service; enabled; vendor preset: enabled) 
    Active: failed (Result: exit-code) since Tue 2017-01-31 06:59:49 UTC; 8min ago 
Main PID: 30281 (code=exited, status=203/EXEC) 

Jan 31 06:59:48 ip-172-31-16-133 systemd[1]: Started gunicorn daemon. 
Jan 31 06:59:49 ip-172-31-16-133 systemd[1]: gunicorn.service: Main process exited, code=exited, sta 
Jan 31 06:59:49 ip-172-31-16-133 systemd[1]: gunicorn.service: Unit entered failed state. 
Jan 31 06:59:49 ip-172-31-16-133 systemd[1]: gunicorn.service: Failed with result 'exit-code'. 

ответ

1

У вас есть процесс gunicorn работает как пользователь Ubuntu и группа www-данные

[Service] 
User=ubuntu 
Group=www-data 

Обычно в ubuntu nginx работает как www-данные. Я вижу, что вы определили www-данные как группу для пушки. Поэтому вы можете решить эту проблему на

chmod g+x /home/ubuntu/ 
chmod g+r /home/ubuntu/ 

Предполагая, что у вас есть www-данные в качестве группы для указанной выше папки. Если вы не можете изменить его с

sudo chgrp www-data /home/ubuntu/ 
+0

Пробовал это есть файл не существует, так что я загрузил файл с тем же именем в папку применяются разрешения на папку проверила журналы (по-прежнему получать 502) разрешения отказано '2017/01/31 08:10:57 [crit] 31000 # 31000: * 13 connect() для unix: /home/ubuntu/webapps/kenyabuzz/kb.sock failed (13: Permission denied) при подключении к восходящему, клиент: 197.232.12.165, сервер: kenyabuzz.nation.news, запрос: «GET/HTTP/1.1», вверх по течению: «http: // unix: /home/ubuntu/webapps/kenyabuzz/kb.sock: /», host : «kenyabuzz.nation.news» ' –

+0

вы не можете просто поместить туда файл! Это сокет, созданный пушкой, когда он начинается. Если там нет файла, значит, стрельба не работает. Удалите фиктивный файл и снова запустите стрельбу и посмотрите, существует ли файл. – e4c5

+0

обновил детали, файл не создан, также включен журнал состояния артиллерии. –