2010-12-12 3 views
1

Я написал приложение django и разместил его на сервере CentOS. Это определенно хорошо, когда я использую веб-сервер разработки django.выпуск сеанса с django + apache + mod_wsgi

Например, я запускаю его с помощью «python ./manage.py runningerver» и получаю доступ к этому серверу из браузера на другом компьютере. Я могу войти в один раз и получить доступ ко всем страницам без проблем.

Однако, когда я запускаю его с помощью apache + mod_wsgi, я просто нашел, что мне нужно время от времени вводить имя пользователя и пароль. Я думаю, может быть, есть некоторые проблемы с промежуточным программным обеспечением сеанса, поэтому, как я могу найти причину и исправить ее?

ответ

2

Для этого есть несколько различных вариантов.

В порядке вероятность (IMHO):

  • Сеанс бэкенд использует систему кэширования для хранения сессий, и вы используете бэкенд locmem кэш
  • Сеанс бэкенд не сохраняет куки (безопасный печенье включен? куки таймаут? неверную дату на сервере?)
  • сеанс промежуточного слоя не может быть загружен (пользовательские настройки для производства сервера?)

Хранение сеанса в кеше является хорошим решением, если вы используете memcached в качестве кеша. Так что, если вы храните сессии в кэше, убедитесь, что вы используете Memcache :)

В любом случае, проверьте SESSION_ENGINE установлен на django.contrib.sessions.backends.db

+0

Мои настройки из них являются: 'CACHE_BACKEND =«Файл: //% s '% os.path.join (os.path.dirname (__ file __),' cache '). replace (' \\ ','/') 'и' SESSION_ENGINE = django.contrib.sessions.backends.db' , Это вызывает проблемы? Я проверяю папку ** cache **, нет файлов. Но я уже дал разрешение 766, верно? – William

+0

Теперь я использую режим демона 'WSGIDaemonProcess myapp user = apache group = apache threads = 25'. – William

+1

@William: Если ваш механизм сеанса установлен в '... backends.db', ​​вы не используете кеш-сервер для хранения сеансов. В этом случае я бы предположил, что это какая-то проблема с файлом cookie. Вы можете протестировать его следующим образом: http://docs.djangoproject.com/en/dev/topics/http/sessions/#setting-test-cookies – Wolph

Смежные вопросы