Установка и настройка Memcached
Инструкция по установке и настройке сервиса кэширования данных - Memcached
На VPS или выделенном сервере установка Memcached помогает ускорить работу веб-приложений за счёт хранения данных в оперативной памяти. Этот инструмент подходит как для небольших сайтов, так и для проектов с высокой нагрузкой на Linux.
Memcached — это программное обеспечение, реализующее сервис кэширования данных в оперативной памяти на основе хеш-таблицы.
Вы можете установить это приложение при оформлении заказа в один клик. Подробное описание доступно в разделе One-Click-Apps.
Memcached представляет собой сервер, который хранит в памяти данные с заданным временем жизни. Доступ к данным осуществляется по ключу (имени). Можно представить Memcached как хеш-таблицу, расположенную на сервере. Он чаще всего используется для кэширования веб-страниц, результатов запросов к базе данных и других данных, требующих быстрого доступа.
Установка Memcached в Debian/Ubuntu
Сначала обновим систему:
$ sudo apt-get update
Теперь установим Memcached:
$ sudo apt-get install memcached
Установим PHP с необходимыми пакетами:
$ sudo apt-get install php5 php5-dev php-pear php5-memcached
Также установим модуль MemCache для PHP:
$ sudo apt-get install libmemcached-dev build-essential
Далее установим расширение Memcache для PHP через PECL:
$ sudo pecl install memcache
Включим поддержку Memcache в PHP. Если файл уже существует, пропустите этот шаг:
$ echo "extension=memcache.so" > /etc/php5/apache2/conf.d/20-memcache.ini
Перезапустим Apache:
$ sudo service apache2 restart
Установка Memcached в CentOS
Обновим систему:
$ sudo yum update
Установим Memcached:
$ sudo yum install memcached
Настройка Memcached
Редактируем конфигурационный файл:
$ sudo vim /etc/sysconfig/memcached
Убедитесь, что в файле есть следующие строки:
PORT="11211"
USER="memcached"
MAXCONN="256"
CACHESIZE="64"
OPTIONS="-l 127.0.0.1"
PORT— порт по умолчанию для Memcached.USER— пользователь, от имени которого запускается демон Memcached.MAXCONN— максимальное количество соединений.CACHESIZE— объём памяти в мегабайтах для кэша (64 MB достаточно для большинства малых и средних сайтов; для загруженных серверов можно увеличить до 512 MB или 1 GB).OPTIONS="-l 127.0.0.1"— Memcached будет слушать только localhost. Можно указать IP сервера для внешних подключений, но по умолчанию используетсяINADDR_ANY.
Запуск Memcached:
$ sudo systemctl enable memcached
$ sudo systemctl start memcached
Установка PHP-расширений для Memcached:
$ sudo yum install php-pear pecl_http php-devel
$ sudo pecl install memcache
Если PECL задаст вопрос Enable memcache session handler support? [yes], просто нажмите ENTER.
Перезапуск служб:
Если используется php-fpm:
$ sudo service php-fpm reload
Если используется Apache:
$ sudo systemctl restart httpd
Тестирование Memcached
Проверим, работает ли служба:
$ echo "stats settings" | nc localhost 11211
Проверим PHP-расширение. Создайте файл с кодом PHP:
$ echo "<?php phpinfo(); ?>" > /var/www/html/php_info.php
Настройка фаервола для Memcached
Добавьте правила для разрешения соединений:
$ sudo iptables -A INPUT -p tcp --destination-port 11211 -m state --state NEW -m iprange --src-range 192.168.1.10-192.168.1.15 -j ACCEPT
$ sudo iptables -A INPUT -p udp --destination-port 11211 -m state --state NEW -m iprange --src-range 192.168.1.10-192.168.1.15 -j ACCEPT
Проверим, что демон запущен:
$ ps -aux | grep memcached