我们正在为分布式Plone / Zope设置使用基于memcached的beaker会话。相同的设置在我们的预制环境中工作正常,但是当我们转向产品时,我们似乎无法将其连接到11211上的memcached。
我在启动Zope的同时在机器上运行tcpdump,它甚至没有尝试连接。
我从Zope服务器telnet到memcached服务器(与ZEO服务器相同)来测试连接,并且工作正常。
我尝试了两种不同的prod Zope服务器,结果是一样的。
我们的旧设置(4.2.5)在另一个prod服务器上运行,当我们启动它时,我们得到了预期的行为,它连接到memcached就好了。不幸的是,我们还有一个4.3.2设置(与prod相同)在pre-prod中运行,它也可以正常工作。我无法确定设置中的任何实质性差异。
所有系统都运行隔离(非系统/适当控制)Python 2.7s。
zope.conf的相关部分
# Beaker Configuration
zope-conf-additional =
<product-config beaker>
cache.type ext:memcached
cache.url ${ips:memcached}
cache.data_dir ${buildout:directory}/var/cache/data
cache.lock_dir ${buildout:directory}/var/cache/lock
cache.regions short, long
cache.short.expire 60
cache.long.expire 3600
session.type ext:memcached
session.url ${ips:memcached}
session.data_dir ${buildout:directory}/var/sessions/data
session.lock_dir ${buildout:directory}/var/sessions/lock
session.key beaker.session
session.secret magicalsecretcornedbeefhash
</product-config>
zcml = collective.beaker
versions.cfg的相关版本:
# Beaker
Beaker = 1.6.4
Products.BeakerSessionDataManager = 1.1
collective.beaker = 1.0b3
python-memcached = 1.47
我已经测试过$ {ips:memcached}在启动时产生了正确的值。没有错误记录到Zope日志,但没有创建烧杯会话,也没有尝试连接memcached。 Memcached正在愉快地运行,但没有生成日志(似乎从来没有)。
关于可能导致此问题的任何想法或建议都很有帮助。更多背景资料:
Ubuntu 12.04.4 LTS
Linux 3.2.0-58-generic #88-Ubuntu SMP Tue Dec 3 17:37:58 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
仓/附加件:
#!/opt/zope/pythons/python-2.7/bin/python
import sys
sys.path[0:0] = [
'/opt/zope/buildouts/FOO/eggs/distribute-0.6.28-py2.7.egg',
'/opt/zope/buildouts/FOO/eggs/zc.buildout-1.7.1-py2.7.egg',
]
答案 0 :(得分:1)
转到制作时,请记住Products.BeakerSessionDataManager README中的最后一部分:
3. In the ZMI, delete the ``session_data_manager`` object and add a
``Beaker Session Data Manager``.