2011-01-10 7 views
2

私はDjango 1.2.3プロジェクトに取り組んでいます。ログインしてから約1分後に管理セッションが非常に早くタイムアウトしているように見えます。初期のDjango管理者ログアウト

は当初、私はこれらの設定を持っていた:

SESSION_COOKIE_AGE=1800 
SESSION_EXPIRE_AT_BROWSER_CLOSE=True 

は、私はこの問題は私のセッションストレージは設定ミスだったかもしれないと思ったので、私は追加することにより、ローカルメモリに格納することが私のセッションを設定してみました:

SESSION_ENGINE = "django.contrib.sessions.backends.cache" 
CACHE_BACKEND = 'locmem://' 

ただし、問題は引き続き発生します。ユーザーがアクティブであっても管理セッションが早期にタイムアウトする原因になるものはありますか?

答えて

3

locmemのセッションをキャッシュする://とは、pythonプロセスが再開するたびにセッションを失うことを意味します。あなたがdevのサーバーの下で実行している場合、それはファイルを保存するたびになります。実稼働環境では、それはインフラストラクチャに応じて異なります。たとえば、Apacheのmod_wsgiは、特定の数の要求(高度に構成可能)の後にPythonを再起動します。複数のPythonプロセスが設定されている場合は、リクエストが別のプロセスに送られるたびにセッションが失われます。

さらに、本番環境に複数のサーバーがある場合、locmem://は1つのサーバープロセスのみを参照します。

つまり、セッションストレージにはlocmem://を使用しないでください。

関連する問題