Problema de upload de arquivo com o aplicativo Django sendo executado sob Apache / mod_wsgi quando daemonizado

3

Eu tenho um aplicativo do Django em execução no Apache2 (linux) usando mod_wsgi e os uploads de arquivos falham quando executados no modo daemon, mas funcionam quando o interpretador python é incorporado. Alguma idéia do que poderia estar causando isso e como eu corrigi-lo?

A seguinte configuração do Apache está funcionando:

<VirtualHost *:80>
  ServerName mysite.com
  DocumentRoot /var/www/

  Alias /media/ /var/www/media/

  <Directory /var/www/>
    Options -Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    allow from all

    Include /etc/apache2/yslow_optimizations.conf
  </Directory>

  WSGIScriptAlias / /var/djangoapp/apache/django.wsgi

  <Directory /var/djangoapp/apache/>
    Order allow,deny
    Allow from all
  </Directory>

  ErrorLog /var/log/apache2/mysite.error.log
  CustomLog /var/log/apache2/mysite.access.log combined
</VirtualHost>

Mas quando adiciono as seguintes diretivas para daemonizar o processo wsgi, o upload do arquivo falha instantaneamente.

WSGIDaemonProcess mygroup display-name=%{GROUP} inactivity-timeout=600
WSGIProcessGroup mygroup

Parece não haver nada no log de erros do Apache.

O formulário do Django está usando um FileField e apenas fornece um erro "este campo é obrigatório" ao fazer o form.is_valid (). A vista tem um decorador @login_required. Tudo isso está funcionando bem quando executado no modo incorporado.

Rodar como um daemon permite atualizar o código de maneira muito mais graciosa (apenas tocando no arquivo wsgi) do que quando incorporado, o que requer um recarregamento do Apache, então prefiro muito mais se for possível.

Update: Isso ocorre com o Opera, não com o FireFox.

    
por Tom 18.09.2009 / 04:25

1 resposta

3

Por hipótese, você não está executando a versão mais recente do mod_wsgi 2.X e está usando o navegador Opera.

Há um problema conhecido com o Opera e seu uso do HTTP 100-continue ao usar o modo daemon mod_wsgi. Esse problema foi corrigido no mod_wsgi 2.4.

Desde que você não diga qual versão do mod_wsgi você está usando, nem qual navegador você está usando, isso é apenas um palpite.

    
por 18.09.2009 / 04:47