如何解决 Heroku 部署时的 libmemcached 错误
How to resolve libmemcached error on Heroku deploy
我在 heroku 上部署 django 项目时得到关注。当 django 在执行 collect static 时尝试压缩静态文件时会发生这种情况。
remote: ERROR MemcachedError: error 3 from memcached_get(:1:django_compressor.mtime.8fb53): (0x25170f0) CONNECTION FAILURE(Connection refused), host: localhost:11211 -> libmemcached/connect.cc:156
remote: Traceback (most recent call last):
remote: File "/app/.heroku/python/lib/python2.7/site-packages/django_pylibmc/memcached.py", line 130, in get
remote: return super(PyLibMCCache, self).get(key, default, version)
remote: File "/app/.heroku/python/lib/python2.7/site-packages/django/core/cache/backends/memcached.py", line 76, in get
remote: val = self._cache.get(key)
remote: ConnectionError: error 3 from memcached_get(:1:django_compressor.mtime.8fb53): (0x25170f0) CONNECTION FAILURE(Connection refused), host: localhost:11211 -> libmemcached/connect.cc:156
remote: ERROR MemcachedError: error 35 from memcached_set: (0x25170f0) SERVER IS MARKED DEAD, host: localhost:11211 -> libmemcached/connect.cc:696
remote: Traceback (most recent call last):
remote: File "/app/.heroku/python/lib/python2.7/site-packages/django_pylibmc/memcached.py", line 140, in set
remote: **COMPRESS_KWARGS)
remote: ServerDead: error 35 from memcached_set: (0x25170f0) SERVER IS MARKED DEAD, host: localhost:11211 -> libmemcached/connect.cc:696
我看到 memcached 服务器不是 运行。问题是如何在不出现这些错误的情况下使用压缩器进行部署 + 收集静态信息。
基本上,一切都在错误中:
CONNECTION FAILURE(Connection refused), host: localhost:11211 -> libmemcached/connect.cc:156
Memcached 服务器不是 运行。
确定找到答案here.
将设置更改为以下已解决 Heroku + Memacahed + django_compressor deploy问题。
CACHES = {
...
'compressor': {
'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'LOCATION': 'compressor'
}
}
COMPRESS_CACHE_BACKEND = 'compressor'
我在 raspbian 上遇到了同样的错误。原来,我忘了安装memcached。 sudo apt-get install memcached 修复了它。希望我能帮到别人。
我在 heroku 上部署 django 项目时得到关注。当 django 在执行 collect static 时尝试压缩静态文件时会发生这种情况。
remote: ERROR MemcachedError: error 3 from memcached_get(:1:django_compressor.mtime.8fb53): (0x25170f0) CONNECTION FAILURE(Connection refused), host: localhost:11211 -> libmemcached/connect.cc:156
remote: Traceback (most recent call last):
remote: File "/app/.heroku/python/lib/python2.7/site-packages/django_pylibmc/memcached.py", line 130, in get
remote: return super(PyLibMCCache, self).get(key, default, version)
remote: File "/app/.heroku/python/lib/python2.7/site-packages/django/core/cache/backends/memcached.py", line 76, in get
remote: val = self._cache.get(key)
remote: ConnectionError: error 3 from memcached_get(:1:django_compressor.mtime.8fb53): (0x25170f0) CONNECTION FAILURE(Connection refused), host: localhost:11211 -> libmemcached/connect.cc:156
remote: ERROR MemcachedError: error 35 from memcached_set: (0x25170f0) SERVER IS MARKED DEAD, host: localhost:11211 -> libmemcached/connect.cc:696
remote: Traceback (most recent call last):
remote: File "/app/.heroku/python/lib/python2.7/site-packages/django_pylibmc/memcached.py", line 140, in set
remote: **COMPRESS_KWARGS)
remote: ServerDead: error 35 from memcached_set: (0x25170f0) SERVER IS MARKED DEAD, host: localhost:11211 -> libmemcached/connect.cc:696
我看到 memcached 服务器不是 运行。问题是如何在不出现这些错误的情况下使用压缩器进行部署 + 收集静态信息。
基本上,一切都在错误中:
CONNECTION FAILURE(Connection refused), host: localhost:11211 -> libmemcached/connect.cc:156
Memcached 服务器不是 运行。
确定找到答案here.
将设置更改为以下已解决 Heroku + Memacahed + django_compressor deploy问题。
CACHES = {
...
'compressor': {
'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'LOCATION': 'compressor'
}
}
COMPRESS_CACHE_BACKEND = 'compressor'
我在 raspbian 上遇到了同样的错误。原来,我忘了安装memcached。 sudo apt-get install memcached 修复了它。希望我能帮到别人。