Назад | Перейти на главную страницу

Проблема с загрузкой файла с приложением Django, работающим под Apache / mod_wsgi при демонтировании

У меня есть приложение Django, работающее под Apache2 (linux) с использованием mod_wsgi, и загрузка файлов не выполняется при работе в режиме демона, но работает, когда встроен интерпретатор python. Есть идеи, что может быть причиной этого и как это исправить?

Следующая конфигурация Apache работает:

<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>

Но когда я добавляю следующие директивы для демонстрации процесса wsgi, загрузка файла мгновенно завершается ошибкой.

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

Похоже, что в журнале ошибок Apache ничего нет.

Форма Django использует FileField и просто выдает ошибку «это поле обязательно» при выполнении form.is_valid (). В представлении есть декоратор @login_required. Все это нормально работает во встроенном режиме.

Запуск в качестве демона позволяет обновлять код гораздо более изящно (просто касаясь файла wsgi), чем когда он встроен, что требует перезагрузки Apache, поэтому я бы предпочел это, если это возможно.

Обновление: это происходит с Opera, а не с FireFox.

Предположительно, вы используете не последнюю версию mod_wsgi 2.X, а браузер Opera.

Существует известная проблема с Opera и ее использованием HTTP 100-continue при использовании режима демона mod_wsgi. Эта проблема была исправлена ​​в mod_wsgi 2.4.

Поскольку вы не говорите, какую версию mod_wsgi вы используете и какой браузер вы используете, это только предположение.