проблема с сессией с django + apache + mod_wsgi - PullRequest
1 голос
/ 12 декабря 2010

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

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

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

1 Ответ

2 голосов
/ 12 декабря 2010

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

В порядке вероятности (imho):

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

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

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

...