Permissão nginx do CentOS7 negada para mídia e estática

1

Olá

Eu tentei implantar o servidor web django por uma semana e finalmente consegui, mas agora eu tenho uma permissão negada problema com o nginx

/var/log/nginx/errors.log

/2016-07-12_1.png HTTP/1.0", host: "ip"      2017/08/28 08:22:38 [error] 873#0: *122 open() "/srv/www/Best/media/Profile Pictures/1/2016-07-12_1.png" failed (13: Permission denied), client: 94.183.22.168, server: ip, request: "GET /media/Profile%20Pictures/1/2016-07-12_1.png HTTP/1.0", host: "ip"

permissão de pasta www

drwxr-xr-x 4 root nginx 4096 Aug 27 15:05 www

Permissão de melhor (pasta do projeto)

drwxrw-r-- 9 uwsgi nginx 4096 Aug 27 21:27 Best

permissão de pasta de mídia

drw-rw-r-- 3 uwsgi nginx   4096 Aug 26 12:32 media

permissão de pasta estática

drwxrwxr-x 3 uwsgi nginx   4096 Aug 27 21:22 static
    
por Ebrahim Karimi 28.08.2017 / 11:06

1 resposta

2

Você definiu drwxrw-r-- para diretórios. Deve ser pelo menos um dos seguintes:

  • drwxrwxr-x - Leia, escreva e execute pelo grupo, todos podem ver o conteúdo também. Não recomendado, a menos que você realmente precise de acesso de gravação pelo grupo.
  • drwxr-xr-x - Leia e execute pelo grupo, todos podem ver o conteúdo também.
  • drwxr-x--- - Leia e execute pelo grupo.

Você também não mostrou as permissões para os arquivos. Isso também pode ser um problema.

Eu tenho duas opções para você. Corrija cada pasta e arquivo individualmente ou corrija o lote de uma só vez. Consertar o lote de uma só vez pode remover quaisquer permissões especiais (como acesso de gravação), mas isso pode ser corrigido mais tarde também se você souber o que está fazendo.

Opção 1, definida por diretório e arquivo:

sudo chmod 750 /path/to/each/directory
sudo chmod 640 /path/to/each/file

Opção 2, definida para todos:

sudo find /path/to/www/root -type d -print0 | xargs -0 chmod 750
sudo find /path/to/www/root -type f -print0 | xargs -0 chmod 640

Pessoalmente, usaria 750 ( drwxr-x--- ) para diretórios e 640 ( -rw-r---- ) para arquivos em um site, mas você pode usar 755 ( drwxr-xr-x ) e 644 ( -rw-r--r-- ).

    
por 28.08.2017 / 12:16