Установка memcached в Unix/Linux(CentOS/Debian/Ubuntu)
Установка memcached в Unix/Linux(CentOS/Debian/Ubuntu)
Memcached — это система которая кеширует все данные в память. Это означает, что вы можете генерировать кэш самым быстрым способом что позволит быстрее использовать приложения с самыми современными языками программирования, таких как Python, PHP, Ruby, и т.д. В своей теме «Установка memcached в Unix/Linux(CentOS/Debian/Ubuntu)» я расскажу как можно установить memcached на Unix/Linux и на готовом примере, покажу как я это делал. Для тестирования, я выбрал CentOS 6 и Debian 8.
Установка memcached в Debian/Ubuntu
Во-первых, я рекомендую обновить систему:
Теперь используйте следующую команду для установки Memcached:
Теперь я установлю PHP с несколькими необходимыми пакетами:
Также необходимо установить модуль MemCache для PHP:
Наконец выполняем установку расширения Memcache php с помощью PECL:
Теперь включим поддержку MemCache в PHP. Прежде чем создавать новый файл просто убедитесь, возможно он уже существует и если файл уже существует просто пропустите команду что ниже:
$ echo "extension=memcache.so" > /etc/php5/apache2/conf.d/20-memcache.ini
После всех изменений, производим перезапуск службы Apache:
# service apache2 restart
Установка memcached в RedHat/CentOS/Fedora
Для начала, обновим ОС:
После обновления, выполняем установку memcached:
Настройка memcached
Отредактируем файл:
$ vim /etc/sysconfig/memcached
Убедитесь, что в данном файле конфигурации имеются следующие строки:
PORT="11211"
USER="memcached"
MAXCONN="256"
CACHESIZE="64"
OPTIONS="-l 127.0.0.1"
PORT 11211 является портом прослушивания по умолчанию для Memcached.
USER — это пользователь memcached от которого будет запущен демон.
MAXCONN — максимальные количество возможных соединений.
CACHESIZE — это количество мегабайт (64 MB) для использования, если у вас есть много трафика, это хорошо для большинства малых/средних сайтов. Для загруженного сервера вы можете увеличить его на 512 или 1 Гб (1024 MB).
OPTIONS=»-l 127.0.0.1″ — это означает что memcached будет слушать только на localhost-е, избегая каких-либо внешних подключений. Вы можете установить IP-адрес сервера. По умолчанию он установлен в INADDR_ANY. Это важно опция, поскольку нет никакого другого способа обеспечить установку. Привязка к внутреннему или межсетевому интерфейсу предлагается.
Для CentOS/RHEL 6/5:
запуск Memcached выполняется:
# service memcached start
Пропишем memcached в загрузку ОС:
Для CentOS/RHEL 7:
# systemctl enable memcached
# systemctl start memcached
Устновка PHP расширений с Memcached.
выполняем:
И выполняем:
Если PECL при установке задаст вам вопрос, который вы видите ниже, просто нажмите ENTER:
"Enable memcache session handler support? [yes]"
У меня возникла ошибка:
ERROR: `/var/tmp/memcache/configure --enable-memcache-session=yes' failed
Исправляем:
Получил следующую:
checking for zlib location... configure: error: memcached support requires ZLIB.
Use --with-zlib-dir=<DIR> to specify the prefix where ZLIB headers and library are
located ERROR: `/var/tmp/memcached/configure' failed
Фиксим:
Добавим модуль memcache.so module в php.ini
# echo "extension=memcache.so" >> /etc/php.ini
Перезапускаем службы.
Если на вашем сервере установлен php-fpm, то чтобы перезапустить его, выполните:
Если на вашем сервере установлен apache, то чтобы перезапустить его, выполните:
Для CentOS/RHEL 7:
# systemctl restart httpd
Для CentOS/RHEL 6/5:
Тестирование/проверка работы Memcached
Проверка настройки MemCache
Использование следующую команду, чтобы проверить и убедиться, что Memcached служба работает нормально:
$ echo "stats settings" | nc localhost 11211
Теперь нужно проверить, включено ли расширение и удостоверимся что работает правильно. Создайте файл в домашнем каталоге и пропишите следующий ПХП код:
# echo "<?php phpinfo(); ?>" > /var/www/html/php_info.php
Если открыть сайт, то увидим:
<img src=»http://linux-notes.org/wp-content/uploads/2015/07/memcache.jpg» alt=»memcache» width=»972″ height=»156″ srcset=»https://linux-notes.org/wp-content/uploads/2015/07/memcache.jpg 972w, https://linux-notes.org/wp-content/uploads/2015/07/memcache-300×48.jpg 300w, https://linux-notes.org/wp-content/uploads/2015/07/memcache-900×144.jpg 900w» sizes=»(max-width: 972px) 100vw, 972px» />
Проверьте, установлен ли Memcached как модуль PHP:
# php -i | grep memcache -i
Настройка фаэрвола для Memcached
Добавьте слудеющие правила для разрешения соедения (для работы memcached):
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
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
Проверяем, запущен ли демон memcached на ОС:
$ ps -aux | grep memcached
На этом, статья «Установка memcached в Unix/Linux(CentOS/Debian/Ubuntu)» завершена.