nginx falhou (13: Permissão negada) uwsgi (502 gateway inválido)

2

Estou com problemas para executar meu aplicativo em um novo droplet DigitalOcean. A máquina roda o CentOS 6.5

Meu /etc/nginx/nginx.conf

user  nginx www-data;
worker_processes  1;

error_log  /var/log/nginx/error.log;
#error_log  /var/log/nginx/error.log  notice;
#error_log  /var/log/nginx/error.log  info;

pid        /var/run/nginx.pid;
(continues)

Meu myapp_nginx.conf

server {

   server_name 104.xxx.x.xxx;
    listen      8080;
    charset     utf-8;
    client_max_body_size 30M;

    location / {
        index index.html index.htm;
        root /home/webdev/mydevelopment/git/ers_portal;
        try_files $uri @app;
    }

    location /static {
    alias /home/webdev/mydevelopment/git/ers_portal/app/static;
    }

    location @app {
        include uwsgi_params;
        uwsgi_pass unix:/home/webdev/mydevelopment/git/ers_portal_uwsgi.sock;
    }
}

Meu myapp_uwsgi.ini

[uwsgi]
master = true
#user info
uid = webdev
gid = www-data

#application's base folder
base = /home/webdev/mydevelopment/git/ers_portal

#chdir to this folder when starting
#chdir = /home/webdev/mydevelopment/git/ers_portal

#python module to import
app = run_web
module = %(app)

home = /home/webdev/mydevelopment/venvs/ecodev_do
pythonpath = %(base)

#socket file's location
socket = /home/webdev/mydevelopment/git/ers_portal/%n.sock

#permissions for the socket file
chmod-socket    = 666

#the variable that holds a flask application inside the module imported at line #6
#uwsgi varible only, does not relate to your flask application
callable = app

#location of log files
logto = /home/webdev/mydevelopment/git/ers_portal/logs/%n.log

As mensagens de erro impressas no nginx error.log sempre que faço uma solicitação da web para 104.xxx.x.xxx:8080

2014/11/19 23:14:47 [crit] 28090#0: *1 stat() "/home/webdev/mydevelopment/git/ers_portal/favicon.ico" failed (13: Permission denied), client: 71.211.xxx.xxx, server: 104.xxx.x.xxx, request: "GET /favicon.ico HTTP/1.1", host: "104.xxx.x.xxx:8080"
2014/11/19 23:14:47 [crit] 28090#0: *1 connect() to unix:/home/webdev/mydevelopment/git/ers_portal_uwsgi.sock failed (13: Permission denied) while connecting to upstream, client: 71.211.xxx.xxx, server: 104.xxx.x.xxx, request: "GET /favicon.ico HTTP/1.1", upstream: "uwsgi://unix:/home/webdev/mydevelopment/git/ers_portal_uwsgi.sock:", host: "104.xxx.x.xxx:8080"

pasta do projeto: drwxr-xr-x 6 webdev www-data 4.0K Nov 19 23:40 ers_portal

soquete dentro da pasta: srw-rw-rw- 1 webdev www-data 0 Nov 19 23:45 ers_portal_uwsgi.sock

Se você tiver alguma informação adicional, basta me avisar. Obrigado !!

EDITAR

Alterei as permissões conforme sugerido pela @Eugene. Agora no meu /var/log/nginx/access.log eu vejo

[20/Nov/2014:01:37:58 -0500] "GET / HTTP/1.1" 502 574 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36" "-"

Em /var/log/nginx/error.log , vejo

2014/11/20 01:38:27 [crit] 28639#0: *1 connect() to unix:/home/webdev/mydevelopment/git/ers_portal_uwsgi.sock failed (2: No such file or directory) while connecting to upstream, client: 71.21.my.local.ip, server: , request: "GET / HTTP/1.1", upstream: "uwsgi://unix:/home/webdev/mydevelopment/git/ers_portal_uwsgi.sock:", host: "104.ser.ver.ip"

A rejeição favicon.ico (abaixo) que estava em var/log/nginx/access.log não está aparecendo mais

"GET /favicon.ico HTTP/1.1" 502 574 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36" "-"
    
por Brian Leach 20.11.2014 / 05:54

3 respostas

4

Resolvido

Encontrei meu erro de digitação após muitas horas de pesquisa. Em /path/to/my/webapp/my_app_nginx.conf , a linha que lê

location @app {
        include uwsgi_params;
        uwsgi_pass unix:/home/webdev/mydevelopment/git/ers_portal_uwsgi.sock;
    }

deve ler

location @app {
        include uwsgi_params;
        uwsgi_pass unix:/home/webdev/mydevelopment/git/ers_portal/ers_portal_uwsgi.sock;
    }

Além disso, em /etc/nginx/nginx.conf alterar user nginx www-data; voltar para user nginx;

Verifique também se não há um bloco de servidor padrão no "nível superior" /etc/nginx/nginx.conf que esteja em conflito com a configuração do seu aplicativo (no meu caso /path/to/my/webapp/my_app_nginx.conf , que é vinculado à pasta /etc/nginx/conf.d/ ).

Lições aprendidas ...

  1. Não desanime. O pior (talvez o segundo pior) sentimento do mundo é não ser capaz de descobrir alguma coisa durante um longo período de tempo. Especialmente se este é o seu hobby, pode ser fácil sentir que você é incompetente e este material é muito difícil e você não é bom o suficiente. Fique com isso.
  2. Seja metódico. Eu estava ficando louca por mudanças, especialmente no final. Isso resulta em ir para a cama sem nenhum progresso real e acordar no mesmo local em que você estava. Anote tudo, documente o que você tentou e acompanhe as alterações anteriores. se ABABA for a configuração de trabalho, e ---B- for a alteração que você estava procurando, mas você esqueceu de alterar --B-- de volta para --A-- , você irá repetir, repetir e repetir. Veja # 1
  3. Lembre-se de que, às vezes, a coisa mais importante para alcançar sua solução é levantar-se e ir embora.
  4. Não desconsidere o conhecimento de seus colegas (essa comunidade). Embora eles possam não ter a resposta instantânea para o seu problema em particular, lembre-se Todos nós não somos tão burros quanto nenhum de nós (ou algum tipo de bobo dizendo isso). Todos nós temos um profundo amor em esfregar problemas do planeta, um de cada vez.
por 25.11.2014 / 17:53
1

Parece que você não tem permissões adequadas em algum lugar no caminho para /home/webdev/mydevelopment/git/ers_portal - embora ers_portal pareça ter 755 adequado, alguns diretórios não. Verifique se todos os diretórios que começam de / a ers_portal têm pelo menos 5 para o usuário www-data, ou para o grupo, ou para todos.

    
por 20.11.2014 / 06:56
0

Eu acho que o problema é com a linha

 try_files $uri @app;

Apenas comente e reinicie o servidor nginx. Deve resolver o problema.

    
por 13.02.2018 / 07:25