Memcached — высокопроизводительная система кеширования данных в оперативной памяти на основе хеш-таблиц.
В этом руководстве мы расскажем, как установить Memcached 1.4.15/1.4.17/1.4.29 в такие дистрибутивы, как Fedora 25/24/23/22/21/20/19/18/17/16/15/14/13/12 и CentOS / Red Hat (RHEL) 7.3/6.8/5.11. В Fedora 24/23/22/21/20/19/18/17/16/15/14/13/12, CentOS 7/6 и Red Hat (RHEL) 7/6 Memcached уже имеется в репозиториях, добавлять дополнительные репозитории не требуется.
1. Установка Memcached 1.4.15/1.4.17/1.4.29 в Fedora 25/24/23/22, CentOS/Red Hat (RHEL) 7.3/6.8/5.11
1.1 Добавим Remi репозиторий (не требуется для Fedora 25/24/23/22/21/20 и CentOS/RHEL 7/6):
## Remi Dependency on CentOS and Red Hat (RHEL)
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-5.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-5.rpm
1.2 Установим пакет - Memcached
Fedora 25/24/23/22
dnf install memcached
Fedora 21/20/19, CentOS/Red Hat (RHEL) 7/6.8
yum install memcached
CentOS/Red Hat (RHEL) 5.11
yum --enablerepo=remi install memcached
1.3 Настроим memcached
Самым важным элементом настройки является параметр CACHESIZE — размер кеша, который необходимо указывать в мегабайтах. Рассматриваемый пример конфигурации использует 512 Mb для Memcached. (512 Mb — объем выделяемой памяти на сервере, а не сама ОЗУ сервера). Отредактируем файл /etc/sysconfig/memcached.
PORT="11211"
USER="memcached"
MAXCONN="1024"
CACHESIZE="512"
OPTIONS=""
1.4 Запустим Memcached
Fedora 25/24/23/22/21/20/19 и CentOS/RHEL 7.3
systemctl start memcached.service ## use restart after update
systemctl enable memcached.service
CentOS/RHEL 6.8/5.11
# Set Memcached to start automatically on boot
chkconfig memcached on
# Start Memcached
/etc/init.d/memcached start
или
service memcached start
1.5 Проверим, работает ли Memcached
echo stats | nc localhost 11211
STAT pid 7599
STAT uptime 10
STAT time 1265288542
STAT version 1.4.4
STAT pointer_size 32
STAT rusage_user 0.003999
STAT rusage_system 0.052991
STAT curr_connections 10
STAT total_connections 11
STAT connection_structures 11
STAT cmd_get 0
STAT cmd_set 0
STAT cmd_flush 0
STAT get_hits 0
STAT get_misses 0
STAT delete_misses 0
STAT delete_hits 0
STAT incr_misses 0
STAT incr_hits 0
STAT decr_misses 0
STAT decr_hits 0
STAT cas_misses 0
STAT cas_hits 0
STAT cas_badval 0
STAT auth_cmds 0
STAT auth_errors 0
STAT bytes_read 6
STAT bytes_written 0
STAT limit_maxbytes 536870912
STAT accepting_conns 1
STAT listen_disabled_num 0
STAT threads 4
STAT conn_yields 0
STAT bytes 0
STAT curr_items 0
STAT total_items 0
STAT evictions 0
END
# Try to get some value
echo get some_value | nc localhost 11211
END
# Not found, but check the stats again
echo stats | nc localhost 11211
STAT pid 7599
STAT uptime 10
STAT time 1265288542
STAT version 1.4.4
[...]
STAT cmd_get 1
STAT cmd_set 0
STAT cmd_flush 0
STAT get_hits 0
STAT get_misses 1
STAT delete_misses 0
[...]
STAT evictions 0
END
Всё работает, теперь нужно проверить работу Memcached с приложениями
2. Открыть порт Memcached 11211 в Iptables Firewall (если Memcached будет работать с другими серверами)
2.1 CentOS/Red Hat (RHEL) 6.8/5.11
Отредактируем файл /etc/sysconfig/iptables:
nano -w /etc/sysconfig/iptables
Добавим цепочку INPUT:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 11211 -j ACCEPT
Перезапустим Iptables:
service iptables restart
или
/etc/init.d/iptables restart
2.2 Fedora 25/24/23/22/21/20 и CentOS/Red Hat (RHEL) 7.3
Перечислите активные зоны Firewalld:
firewall-cmd --get-active-zones
Пример вывода:
public
interfaces: wlp1s0
Добавим новое правило в Firewalld:
У вас может быть активная зона public в FedoraWorkstation, FedoraServer.
firewall-cmd --permanent --zone=public --add --port=11211/tcp
Перезапустим firewalld.service:
systemctl restart firewalld.service
2.3 Проверка удаленного подключения:
echo stats | nc memcache_host_name_or_ip 11211
3. Установка Memcache или Memcached PHP модуля в Fedora, CentOS и Red Hat (RHEL)
3.1 Установка PHP Memcache модуля и PHP
## Fedora 25/24/23/22 ##
dnf install php php-pecl-memcache
## Fedora 21/20/19 and CentOS/RHEL 7.3/6.8/5.11 ##
yum install php php-pecl-memcache
3.2 Перезапустим Web server
## Fedora 25/24/23/22/21/20/19 и CentOS/RHEL 7.3 ##
systemctl restart httpd.service
## CentOS/RHEL 6.8/5.11 ##
/etc/init.d/httpd restart
или
service httpd restart
Оригинал статьи: https://www.if-not-true-then-false.com/2010/install-memcached-on-centos-fedora-red-hat/