Установка memcached на CentOS/RHEL/Fedora
Memcached – это система кэширования данных в памяти, поэтому это самое быстрое кэширование в отличие от файлового кэша расположенного на жёстком диске, который в десятки раз медленнее. Главный плюс Memcached в том, что он снижает нагрузку на базу данных и файловую систему в целом путём уменьшения количества обращения к ней. И таким образом увеличивает скорость обращения к наиболее часто используемым данным. Memcached, конечно же, рекомендуется для установки на высоконагруженных серверах. А также на сервера с большим количеством пользовательских подключений.
В данный момент мы будем производить установку на на CentOS 6. Отличие от ранних версий CentOS и других операционных систем Linux указанных выше лишь в подключаемых репозиториях и синтаксисе. В остальном указанное ниже без проблем устанавливается на то, что будете использовать и вы.
1. Подключаем дополнительный репозиторий REMI, который не потребуется в случае, если вы используете Fedora 17, Fedora 16, Fedora 15, Fedora 14, Fedora 13, Fedora 12 или RHEL 6:
# rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
# rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-5.rpm
2. Теперь, когда мы подключили дополнительные репозитории можно устанавливать Memcache:
# yum install memcached
# yum —enablerepo=remi install memcached
3. Далее необходимо внести изменения в конфигурационный файл memcache:
PORT=»11211″
USER=»memcached»
MAXCONN=»2048
″ Параметр отвечает за максимальное количество подключений
CACHESIZE=»4096
″ Укажите четверть от количества фактической ОЗУ на сервере
OPTIONS=»-l 127.0.0.1
″ Либо можно ничего не указывать
4. Добавим memcached в автозагрузку и запустим. Также перезапустим apache:
# chkconfig memcached on
# service memcached start
# service httpd restart
5. Теперь проверим статус работы:
memcached (pid 17302) is running…
tcp 0 0 0.0.0.0:11211 0.0.0.0:* LISTEN 17302/memcached tcp 0 0 :::11211 :::* LISTEN 17302/memcached udp 0 0 0.0.0.0:11211 0.0.0.0:* 17302/memcached udp 0 0 :::11211 :::* 17302/memcached
На экране не очень ровно, но суть ясна. Значит всё ОК. Вроде бы и всё, но есть ещё пара ньюансов.
6. Если Memcached будет использоваться другими локальными серверами, то необходимо внести изменения в iptables:
-A INPUT -m state —state NEW -m tcp -p tcp —dport 11211 -j ACCEPT
Перезапустим iptables
service iptables restart
или
/etc/init.d/iptables restart
7. В заключении давайте ещё установим Memcache и/или Memcached PHP Module:
# yum install php-pecl-memcache
# yum install php-pecl-memcached
Последний шаг прописать extension в файлике php.ini
extension = “memcache.so”
Сохраняем. Ну и не забываем перезапустить apache…
Если всё правильно, то вывод команды php -i | grep memcache должен показать примерно следующее:
memcache
memcache support => enabled
memcache.allow_failover => 1 => 1
memcache.chunk_size => 8192 => 8192
memcache.default_port => 11211 => 11211
memcache.default_timeout_ms => 1000 => 1000
memcache.hash_function => crc32 => crc32
memcache.hash_strategy => standard => standard
memcache.max_failover_attempts => 20 => 20
Registered save handlers => files user sqlite memcache
Оригинал: wiki.hpfh.net/ustanovka-memcached-na-centos-6/