WSGIDaemonProcess para cada instância do aplicativo

1

Estou usando o Apache & mod_wsgi para implantar um aplicativo django em vários servidores. Li em vários lugares (incluindo: link ) que é melhor usar o modo Daemon do wsgi. Isso me permitiria ter controle sobre a contagem de processos e a contagem de threads por processo, entre outras coisas interessantes:)

Agora, é que eu posso ter duas ou mais instâncias do meu aplicativo django no mesmo servidor (com suas próprias configurações, bancos de dados, etc). Por exemplo:

  • http://team1-server/prod-instance
  • http://team1-server/test-instance

Difícil Acho que entendo como usar uma configuração diferente de "grupo de processos" e "processo de daemon" para vários hosts virtuais, não pareço envolver o que devo fazer com várias "sub-raízes". / p>

EDITAR:

Eu corro aqueles que estão em CentOS 6.2 distros. No diretório /etc/httpd/conf.d/ , tenho um arquivo .conf para cada instância que se parece com isso:

WSGIScriptAlias /prod-instance /opt/wsgi_applications/prod/app.wsgi

END EDIT.

Devo usar virtualhosts e ter urls como http://prod-instance.team1-server/ ? Isso significaria que eu deveria contar com os gerentes de rede para atualizar as tabelas de DNS, o que nunca é rápido o suficiente para nossos clientes. :)

Eu devo admitir que muitas vezes me perco quando se trata da configuração do Apache. Sua ajuda é bem vinda.

Obrigado!

O.

    
por Olivier H 23.09.2013 / 17:08

1 resposta

3

Supondo que você não esteja usando uma versão mod_wsgi obsoleta e muito antiga, você pode dizer:

WSGIDaemonProcess prod-instance
WSGIScriptAlias /prod-instance /opt/wsgi_applications/prod/app.wsgi process-group=prod-instance application-group=%{GLOBAL}

WSGIDaemonProcess test-instance
WSGIScriptAlias /test-instance /opt/wsgi_applications/test/app.wsgi process-group=test-instance application-group=%{GLOBAL}

Se você estiver usando uma versão mod_wsgi obsoleta e muito antiga, use:

WSGIDaemonProcess prod-instance
WSGIScriptAlias /prod-instance /opt/wsgi_applications/prod/app.wsgi
<Location /prod-instance>
WSGIProcessGroup prod-instance
WSGIApplicationGroup %{GLOBAL}
</Location>

WSGIDaemonProcess test-instance
WSGIScriptAlias /test-instance /opt/wsgi_applications/test/app.wsgi
<Location /test-instance>
WSGIProcessGroup test-instance
WSGIApplicationGroup %{GLOBAL}
</Location>
    
por 24.09.2013 / 01:30