私は実際の解決策なしに数時間を無駄にしました.ここに問題があります.Django管理者にログインすると、すぐに、または数回クリックした後、私は捨てられます.
すべての設定と構成をしばらく調べました。これまでのところ、唯一の手がかりは uwsgi ログ ファイルからのものです。たとえば、次のようになります。
www.example.com [pid: 20047|app: 0|req: 1120/2060] 217.9.101.34 () {42 vars in 841 bytes} [Thu Jul 18 15:27:35 2013] GET /admin/ => ...
www.example.com [pid: 20047|app: 0|req: 1122/2063] 217.9.101.34 () {40 vars in 786 bytes} [Thu Jul 18 15:27:37 2013] GET /admin/auth/ => ...
www.example.com [pid: 20047|app: 0|req: 1124/2066] 217.9.101.34 () {40 vars in 801 bytes} [Thu Jul 18 15:27:39 2013] GET /admin/auth/user/ => ...
www.example.com [pid: 20047|app: 0|req: 1125/2067] 217.9.101.34 () {40 vars in 740 bytes} [Thu Jul 18 15:27:39 2013] GET /admin/jsi18n/ => ...
www.example.com [pid: 19082|app: 0|req: 947/2072] 217.9.101.34 () {42 vars in 841 bytes} [Thu Jul 18 15:27:41 2013] GET /admin/ => ...
www.example.com [pid: 20047|app: 0|req: 1128/2081] 217.9.101.34 () {42 vars in 841 bytes} [Thu Jul 18 15:27:44 2013] GET /admin/auth/
最初のいくつかのリクエストには同じプロセス ID があり、それが私がログインしている場所です。その後、別のプロセスが次のリクエストを処理しますが、どうやらこのプロセスは私のセッションを認識しておらず、ログアウトしています。次のリクエストには元の ID が再び含まれていますが、私の Cookie はすでにリセットされています。
プロジェクトの再セットアップ、uwsgi構成の再セットアップ、nginxのチェック、すべての再起動など、すべてを試しましたが、何も役に立ちません。また、複数のコンピューターの複数のブラウザーで表示されるため、Cookie エラーである可能性もありません。結局、Cookie が設定され、セッションがデータベースに記録されます。
スタックは Django 1.5.1、Python 2.7、virtualenv、buildout、MySQL 5.5、nginx、uwsgi、Ubuntu 12.04 です。
何か案は?
編集:
これは uwsgi 構成です。
[uwsgi]
#vhost = true # tried to see if that helps
plugins = python
socket = /tmp/example.com.sock
master = true
enable-threads = true
processes = 8
cheaper = 2
max-requests=1000
reload-on-rss=110
vacuum=True
harakiri=20
buffer-size=16384 # added to try if that helps
wsgi-file = /var/www/blabla/.../django.wsgi
virtualenv = /var/www/blabla
chdir = /var/www/blabla/...
touch-reload = /var/www/blabla/.../django.wsgi