Установка и настройка memcached на Centos

Memcached — программное обеспечение, реализующее сервис кэширования данных в оперативной памяти на основе парадигмы хеш-таблицы. Иными словами, Memcached это хранилище объектов (строчек, сессий, статических данных) в оперативной памяти сервера используя алгоритм ключ-значение (key-value) основываясь на запросах сервера к базе данных, API, или рендереринга страниц.

В данной статье рассмотрим:

Важно помнить, что вся информация, которую закеширует Memcached будет хранится в памяти до первой перезагрузки службы (сервера).

Установка memcached

Если не подключили репозиторий, подключаем и устанавливаем memcached:

# rpm -Uvh http://mirrors.kernel.org/fedora-epel/6/x86_64/epel-release-6-8.noarch.rpm # yum install memcached

Редактируем настройки:

# nano -w /etc/sysconfig/memcached PORT="11211" USER="memcached" MAXCONN="1024" # максимальное количество подключений CACHESIZE="64" # размер памяти,выделяемой для memcached OPTIONS="-l 127.0.0.1" # какой слушать интерфейс

Добавляем в автозагрузку и запускаем сервер:

# chkconfig memcached on # /etc/init.d/memcached start

Настройка PHP для работы с memcached

Установка библиотеки memcached для PHP:

# yum install php-pecl-memcache

Настройка php.ini для хранения сессий в memcached

[Session]
; Handler used to store/retrieve data.
; http://www.php.net/manual/en/session.configuration.php#ini.session.save-handler
session.save_handler = memcached
session.save_path = "127.0.0.1:11211"

Установка и настройка phpMemcachedAdmin

Смотреть статистику можно командой:

# echo stats | nc 127.0.0.1 11211

Или установить систему управления сервисом phpMemcachedAdmin.

Качаем и распаковываем исходники

# mkdir /var/www/memcache # cd /var/www/memcache # wget http://phpmemcacheadmin.googlecode.com/files/phpMemcachedAdmin-1.2.2-r262.tar.gz # tar -xvzf phpMemcachedAdmin-1.2.2-r262.tar.gz

Ограничиваем доступ средствами nginx

Создадим файл с паролем:

# htpasswd -c .htpasswd admin

Затем правило для папки, с ограничением доступа по паролю:

location ~* ^/memcache/.+\.php {
        # allow X.X.X.X; // можно так же ограничить доступ по ip
        # deny all;
        auth_basic "Require authorization";
        auth_basic_user_file /var/www/html/memcache/.htpasswd;                             
        include         fastcgi_params;
        fastcgi_param   SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_pass    127.0.0.1:9000;
    }

Не забудте закрыть доступ к файлу с паролем:

location ~ /\. {
        access_log off;
        log_not_found off;
        deny  all;
    }

О том как настроить web-сервер nginx, читайте в статье: Настройка web-сервера nginx, php-fpm на CentOS

Добавить комментарий


Защитный код
Обновить