如何解决 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 修复了它。希望我能帮到别人。