2016-06-24 2 views
2

После обновления yum на сервере django webapp неожиданно начал выдавать 500 внутренних ошибок сервера для каждого запроса. Это было найдено в файле журнала.Django и отсутствующий libmemcached.so.10

Traceback (most recent call last): 
    File "/usr/local/virtualenv-django19/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 123, in get_response 
    response = middleware_method(request) 
    File "/usr/local/virtualenv-django19/local/lib/python2.7/site-packages/django/contrib/sessions/middleware.py", line 16, in process_request 
    request.session = self.SessionStore(session_key) 
    File "/usr/local/virtualenv-django19/local/lib/python2.7/site-packages/django/contrib/sessions/backends/cached_db.py", line 24, in __init__ 
    self._cache = caches[settings.SESSION_CACHE_ALIAS] 
    File "/usr/local/virtualenv-django19/local/lib/python2.7/site-packages/django/core/cache/__init__.py", line 80, in __getitem__ 
    cache = _create_cache(alias) 
    File "/usr/local/virtualenv-django19/local/lib/python2.7/site-packages/django/core/cache/__init__.py", line 55, in _create_cache 
    return backend_cls(location, params) 
    File "/usr/local/virtualenv-django19/local/lib/python2.7/site-packages/django/core/cache/backends/memcached.py", line 174, in __init__ 
    import pylibmc 
    File "/usr/local/virtualenv-django19/local/lib/python2.7/site-packages/pylibmc/__init__.py", line 71, in <module> 
    import _pylibmc 
ImportError: libmemcached.so.10: cannot open shared object file: No such file or directory 

Версия libmemcached является 1.0.16 и pylibmc является 1.5.1.

Наше веб-приложение использует memcached через pylibmc для кеширования. Что дает?

ответ

-1

Заменить pylibmc на python-memcached.

Говорят, что у Pylibmc лучше производительность, чем у python-memcached, но разница небольшая. pylibmc 1.5.1, похоже, не совместим с libmemcached 1.0.16. Сделать изменения довольно легко. Изменить изменение на одну строку в settings.py

'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache', 

Обновите свой процесс wsgi, и все готово.

-1

Версия libmemcached 1.0.18 и pylibmc===1.5.1 совместима и сработала для меня

 Смежные вопросы

  • Нет связанных вопросов^_^