我搭的站 -> http://115.28.200.89/
以 session 保存状态
本来 python app.py 运行得好好地,后来用 gunicorn 跑一跑,结果隔 3 题后 session 就木有了(第一次访问将赋给一个 seesion ,算做初始化,结果现在 3 题后又初始化了的样子)
我开始查找原因,一度想换上 redis 存储 session
看资料知道 flask 的 session 数据存储在客户端 cookie 中,返回服务器时解密其中的数据
那么不该出现现在的问题啊,怎么 gunicorn 运行是就不正常工作了呢?
这时我看到了我的代码里头
app.secret_key = os.urandom(24)
我是用这样的办法设置 app.secret_key ,我恍然大悟, gunicorn 是多进程的,那么重新运行时 os.urandom(24)又是串新的字符串,原来如此啊!
于是我把 app.secret_key = os.urandom(24)改成 app.secret_key = '某常量字符串' 后,
问题就解决了!
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.