HTTP 503 erros com o Apache e mod_wsgi

1

Eu escrevi um webapp no Django que eu hospedo sob o Apache 2.4 usando mod_wsgi.

À primeira vista, funciona bem. No entanto, quando o processo do Apache está em execução há algum tempo, o webapp começa a responder com erros 503. Você pode passar algumas vezes depois de F5'ing muito.

A coisa chata é que eu não tenho nada relacionado a isso no meu Apache error.log em tudo , então eu não sei onde começar a depurar isso. Meu único lead é o erro exibido no navegador: 503 Service Unavailable .

Outros sites (PHP) não são afetados. Reiniciar o servidor Apache resolve o problema de forma confiável.

Minha configuração do Apache para esta webapp:

    WSGIDaemonProcess app python-path=/opt/app home=/opt/app
    WSGIProcessGroup app
    WSGIScriptAlias /app /opt/app/wsgi.py

Eu encontrei este mas Eu não acho que esse é o problema porque os sockets já estão colocados em /var/run/apache2/ no meu caso (não no "diretório de log do apache"). Este diretório é legível para os outros. Os próprios soquetes possuem o modo 700 , mas possuem o proprietário correto ( www-data ).

Alguma idéia?

EDITAR:

Percebi que quando o problema ocorre e eu reinicio o Apache para corrigi-lo, o Apache demora bastante para sair. No log de erros, encontrei estas mensagens:

[Sun Jun 25 14:14:18.935566 2017] [core:warn] [pid 374:tid 140587055682752] AH00045: child process 21761 still did not exit, sending a SIGTERM
[Sun Jun 25 14:14:18.935637 2017] [core:warn] [pid 374:tid 140587055682752] AH00045: child process 21812 still did not exit, sending a SIGTERM
[Sun Jun 25 14:14:20.937578 2017] [core:warn] [pid 374:tid 140587055682752] AH00045: child process 21761 still did not exit, sending a SIGTERM
[Sun Jun 25 14:14:20.937640 2017] [core:warn] [pid 374:tid 140587055682752] AH00045: child process 21812 still did not exit, sending a SIGTERM
[Sun Jun 25 14:14:22.939827 2017] [core:warn] [pid 374:tid 140587055682752] AH00045: child process 21761 still did not exit, sending a SIGTERM
[Sun Jun 25 14:14:22.939893 2017] [core:warn] [pid 374:tid 140587055682752] AH00045: child process 21812 still did not exit, sending a SIGTERM
[Sun Jun 25 14:14:24.942034 2017] [core:error] [pid 374:tid 140587055682752] AH00046: child process 21761 still did not exit, sending a SIGKILL
[Sun Jun 25 14:14:24.942176 2017] [core:error] [pid 374:tid 140587055682752] AH00046: child process 21812 still did not exit, sending a SIGKILL

Portanto, pelo que parece, o problema pode ser causado por threads (WSGI?) que estão suspensos? Como faço para depurar isso?

    
por Compizfox 13.05.2017 / 17:31

0 respostas