Eu estou olhando para executar alguns sites do Django no meu VPS, com nginx agindo como um front-end para isso. Eu tenho tido alguns problemas com mod_python
e Apache, o site só começa a errar sempre que o tráfego começa a pegar porque ele usa apenas tão muita memória RAM para cada solicitação. Então, fiz algumas pesquisas e descobri que mod_python
não é minha melhor aposta para um pequeno VPS.
Minha configuração tem nginx servindo arquivos estáticos (javascript, css, imagens) e usando o memcached para reduzir drasticamente os pedidos feitos em um back-end do Apache armazenando em cache as páginas que o Apache "faz", mas isso ainda é executando mod_python
, e ontem eu ainda tinha algumas pessoas dizendo que eles estavam recebendo 500 erros sem nenhum motivo.
O que eu quero fazer é usar o FastCGI para rodar o Django agora, eu li que ele pode lidar com um tráfego maior com menos RAM, mas a configuração dele foi um pouco estranha para eu entender; Eu não sou especialista em alguns dos termos sendo jogados. As principais coisas que estou vendo são estas opções:
maxspare=NUMBER max number of spare processes / threads
minspare=NUMBER min number of spare processes / threads
maxchildren=NUMBER hard limit number of processes / threads
method=IMPL prefork or threaded (default prefork)
Qualquer ajuda para determinar o que devo definir para estes seria muito apreciada. Eu também gostaria de saber como / se esses processos estão sendo mencionados estão relacionados aos processos de trabalho do nginx. O servidor hospeda 4 sites que normalmente lidam com um par de mil acessos por dia, mas todos tendem a ser atingidos no mesmo período com a maior parte do tráfego, e é aí que os problemas começam.
Além disso, eu li em algum lugar sobre como usar Tornado como um servidor WSGI para Django ... isso poderia ser uma solução melhor? Obrigado!