django+apache+mod_wsgi 的会话问题
我编写了一个 django 应用程序,并将其放在 CentOS 服务器上。当我使用django开发web服务器时绝对没问题。
例如我通过“python ./manage.py runserver”启动它,并从另一台计算机上的浏览器访问该服务器。我可以登录一次,然后毫无问题地访问所有页面。
然而,当我使用 apache+mod_wsgi 运行它时,我发现我必须一次又一次地使用用户名和密码登录。我认为会话中间件可能存在一些问题,那么,如何找到根本原因并修复它呢?
I've written a django application, and put it on a CentOS server. It is definitely okay when I use django development web server.
Such as I start it by "python ./manage.py runserver", and access that server from browser on another computer. I can sign in one time, and access all the pages without issues.
However when I run it with apache+mod_wsgi, I just found I have to login with user and password time by time. I think maybe there is some problem with the session middleware, so, how can I find the root cause and fix it?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
为此有几种不同的选择。
按照可能性的顺序(恕我直言):
locmem
缓存后端如果您使用 memcached 作为缓存后端,则将会话存储在缓存中才是一个好的解决方案。因此,如果您将会话存储在缓存中,请确保使用 memcache :)
无论哪种方式,请检查
SESSION_ENGINE
是否设置为django.contrib.sessions.backends.db
There are a couple of different options for this.
In order of likelyhood (imho):
locmem
cache backendStoring the session in the cache is only a good solution if you use memcached as the cache backend. So if you're storing the sessions in cache, make sure you use memcache :)
Either way, check if
SESSION_ENGINE
is set todjango.contrib.sessions.backends.db