O Apache perde aleatoriamente a permissão para ver arquivos

1

Eu tenho um servidor (Leopard Server, não minha escolha) rodando Apache e MySQL. Vários meses atrás, o servidor começou a gerar erros "Proibidos" em intervalos aleatórios, impedindo o acesso a um aplicativo PHP. Esse comportamento cessou aleatoriamente.

Agora, há alguns dias instalei o Passenger e implantei um aplicativo Sintra / Rack. O aplicativo é executado como um usuário acarneg (por exemplo) de /Library/WebServer/Documents/presto/current/public , acarneg possui a estrutura inteira. O usuário _www tem acesso ao diretório via ACL chmod +a "_www allow read,write,..." .

Tudo funciona muito bem! Mas após um intervalo aleatório, muitas vezes ~ 12 ou ~ 24 horas, o Passenger lança um erro que também impede a execução da aplicação PHP. Passenger Error #2. Cannot stat file config.ru. Permission denied. Mas as permissões não foram alteradas (confirmadas) e tudo o que uma pessoa precisa fazer para resolver o erro é sudo apachectl graceful .

Se as permissões não estão mudando e o Apache não parece ter um problema legítimo, o que está causando essa bagunça? Por que isso parou antes e por que foi retomado!?!?!?

Obrigado pela ajuda!

    
por arbales 30.04.2010 / 01:06

2 respostas

5

Seu Apache provavelmente está atingindo o limite máximo de arquivos abertos. O Apache causará erros de permissão e também explica por que demora um pouco e é resolvido com o recarregamento do Apache.

Eu não estou familiarizado com o Mac, mas deve haver um comando para verificar os arquivos abertos de um processo. (por exemplo, lsof, pfiles, procfiles).

Possíveis resoluções são:

  • Aumentar o máximo de arquivos abertos (ulimit)
  • Reduza o número de arquivos de log
  • Verifique se o código PHP fecha todos os seus arquivos

Veja também Limite do Descritor de Arquivo na documentação do Apache.

    
por 06.05.2010 / 11:30
1

Onde está o armazenamento do sistema de arquivos? Requer que o kerberos acesse os dados, ou o AFS ou alguma outra coisa, para que seu problema seja um ticket que expira?

    
por 30.04.2010 / 02:00