Como faço para definir os arquivos de cache do nginx para permissões de arquivo 777?

1

Estou tentando escrever um processo que invalida o cache no nginx (e não reaquece o cache).

Por padrão, o nginx tem 700 em seus arquivos de cache. O ajuste mais próximo que encontrei foi:

proxy_store_access user:rw group:rw all:r;

No entanto, isso se aplica a repositórios de proxy, não a caches.

Então, como eu digo ao nginx para criar os arquivos de cache como 777?

Atualmente estou executando o nginx / 1.5.8 no Ubuntu 12.

    
por Homer6 21.01.2014 / 06:17

2 respostas

0

O ponto é discutível de qualquer maneira.

De acordo com esta resposta e pós a postagem no fórum de Igor Sysoev (autor do nginx), excluir os arquivos de cache por si só não será suficiente para limpar o cache devido ao compartilhamento de memória.

Então, estou relaxando um dos meus requisitos e permitindo que o cache seja limpo aquecendo-o. Agora estou fazendo solicitações https com o cabeçalho Pragma: no-cache .

Idealmente, eu não teria que aquecê-lo para limpar o cache. Mas eu não tenho uma solução para limpar apenas o cache de um determinado URI.

    
por 21.01.2014 / 23:11
2

Ok, então, para responder à sua pergunta específica, você precisa definir a umask para 000. Se quiser, posso dar-lhe essas instruções. Mas eu não acho que é isso que você quer. Sério.

Por acaso, a configuração proxy_store_access afeta os arquivos criados pelos sistemas proxy_store e proxy_cache (verifiquei isso no código-fonte).

Eu não quero ser rude, mas não acho que você queira fazer o que está sugerindo. Eu suspeito que você quer limpar o seu nginx chache regularmente. Se você olhar a documentação aqui: link , você verá que o nginx deve lidar com a invalidação do seu cache para mantê-lo sob um determinado tamanho.

Agora, se você ainda quiser escrever um processo que invalide (suponho que você quer dizer excluir) o cache, aqui está uma opção diferente. Se isso for executado como um cronjob, coloque-o no crontab do usuário nginx. Além disso, existem maneiras de usar o sudo para conceder a alguém acesso limitado a permissões elevadas. Por último, se você está realmente programando um programa especial, então procure o bit setuid (aka suid) no executável.

Boa sorte. Isso ajuda?

    
por 21.01.2014 / 07:39