V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
zzlettle
V2EX  ›  Python

django 自带的 runserver 和 gunicorn 启动服务有什么区别吗,导致我在 chrome 登录的时候会出现差别

  •  
  •   zzlettle · 2014-08-16 21:32:51 +08:00 · 5585 次点击
    这是一个创建于 3743 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我上一个贴就说了我登录的时候,用chrome登录会出现刷新就需要再次登录的情况,好像没有记录下用户的登录状态。地址在这里http://v2ex.com/t/128220#reply3
    我到现在也没有发现具体问题在哪里,但我实验的时候发现,我启动服务用django内置的命令
    python manage.py runserver 这样启动服务的时候,我前台页面,就算用chrome也能正常登录了,就是在登录页面,输入用户名和密码,提交,页面显示已经登录,就算我刷新页面,也依然在登录状态。
    但我用gunicorn启动服务,就还原老毛病了,登录提交以后,会显示当前用户是登录状态,一刷新,就有要我登录。
    有人知道这2者到底有什么区别,问题到底出在哪里啊。
    6 条回复    2014-08-28 21:53:36 +08:00
    monsterxx03
        1
    monsterxx03  
       2014-08-16 22:13:00 +08:00 via iPad
    用gunicorn的时候是不是 -w指定了worker数目, 那是多进程的模式, runserver是单进程的,你检查下有没有设置SESSION_ENGINE,没设置的话默认好像是用内存存session的,多进程下当然没法共享状态了。。。设成memcache的就行了。
    monsterxx03
        2
    monsterxx03  
       2014-08-16 22:16:16 +08:00 via iPad
    记错了,SESSION_ENGINE默认是db的,看自己是不是改过。。
    zzlettle
        3
    zzlettle  
    OP
       2014-08-16 22:26:41 +08:00
    @monsterxx03 我用gunicorn 配置就是用的最简单的配置
    gunicorn app.wsgi:application -D
    就这样。但奇怪的是,这样搞法以后,用chrome 总是在登录这里出问题,登录以后的页面明明显示当前用户已经处于登录进去的状态了,一刷新,就又要我登录。其他浏览器就没有这个问题,我在本地测试和用django内置的runserver命令也不会有这个问题。
    zzlettle
        4
    zzlettle  
    OP
       2014-08-16 23:31:06 +08:00
    我随便修改了gunicorn 的参数,好像现在一切又正常了
    我就是把默认的workers 数量1 修改成为2
    -w 2
    现在问题就好了,真不知道是为什么。
    veezzz
        5
    veezzz  
       2014-08-26 17:32:45 +08:00
    我看文档说runserver 只是django提供的一个简单的wsgi服务器,只是用于开发测试的,不推荐用于部署。
    zzlettle
        6
    zzlettle  
    OP
       2014-08-28 21:53:36 +08:00 via iPad
    是的,所以我是实验测试用看看效果的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1143 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 22:55 · PVG 06:55 · LAX 14:55 · JFK 17:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.