memcached php установка ubuntu
How to Install Memcached on Ubuntu 18.04 & 16.04 LTS
Memcached is a distributed memory object caching system which stored data in memory on key-value basis. It is very useful for optimizing dynamic websites and enabled speed by caching objects in memory. This article will help you to install Memcached with PHP Memcache PECL extension on Ubuntu 18.04, 16.04 and 14.04 systems.
- Read Article:
Step 1 – Install Memcached
First of all, update Apt package cache on your system then install Memcached service on your system. Execute below commands from command prompt.
Step 2 – Configure Memcached
You can find the details information about Memcache configuration here. For inital level configuration check for the following settings under Memcache configuration file /etc/memcached.conf.
After making changes, restart the Memcached service.
Step 3 – Verify Memcache Setup
Use the following command to check and verify that Memcached service is running properly on your system. This will show you the current statstics of your Memcached server. So the values may be differ that below results.
Step 4 – Install Memcached PHP Module
Now install latest PHP from ppa:ondrej/php PPA on your Ubuntu system. If you have already installed PHP on your system, just skip PHP installation commands below.
Now install PHP Memcached module on your system. The below command will also do the required configuration.
After completing the installation, you must restart the Apache service.
Рука помощи
28.11.2017
PHP и Memcached на Ubuntu server
Memcached – свободно распространяемое ПО для кеширования данных в оперативной памяти, основываясь на хеш-таблицах. Официальный сайт проекта https://www.memcached.org/
Memcached можно использовать в популярной CMS WordPress, подключив соответствующий плагин. Также данноt кеширование используется в работе таких «гигантов» сети, как Википедия (http://www.wikipedia.org/) и Живом журнале (https://www.livejournal.com/)
1. Установка и настройка Memcached
sudo apt-get install memcached libmemcached-dev
Конфигурационный файл /etc/memcached.conf
Основные параметры, на которые я рекомендую обратить внимание
-d # Указывает, что Memcached работает в режиме демона
logfile /var/log/memcached.log #Ведем лог использования, полезно при отладке работы скриптов
-m 64 # Объем памяти в Мб, доступный для работы Memcached, устанавливайте это значение в зависимости от доступной оперативной памяти. При установке значения данного параметра следует учитывать сколько оперативной памяти используют другие сервисы (например Базы данных). Я предпочитаю устанавливать около 10-12% от объема оперативной памяти (для 4 Гб ОЗУ – 256 Мб)
-p 11211 # Номер порта, на котором работает Memcached
-u memcache # С под какого пользователя запускается сервис
-l 127.0.0.1 # Какие IP-адреса слушает, при доступе только с локального хоста – оставляйте без изменений, если доступ необходим с внешних устройств укажите IP-адрес сетевого интерфейса или закомментируйте
# -M # данный параметр отвечает за действия с кэшированными данными, когда закончится память. По умолчанию будут удалятся самые старые записи, если его включить, за состоянием памяти сервера нужно будет следить в ручном режиме и в случае когда вся доступная память будет занята – будете получать ошибку. Не рекомендую включать данный параметр.
После завершения изменения файла конфигурации сервис нужно перезапустить.
sudo service memcached restart
Проверить работоспособность Memcached можно, подключившись к нему через Telnet
Как установить Memcached в Ubuntu 20.04
Memcached — это бесплатное высокопроизводительное хранилище данных типа «ключ-значение» в памяти с открытым исходным кодом. Обычно он используется для ускорения приложений путем кеширования различных объектов из результатов API и вызовов базы данных.
В этой статье показано, как установить и настроить Memcached в Ubuntu 20.04.
Установка Memcached
Пакет memcached включен в репозитории Ubuntu 20.04 по умолчанию. Чтобы установить его, введите следующую команду от имени пользователя root или пользователя с привилегиями sudo :
После завершения установки служба memcached запустится автоматически. Чтобы проверить статус услуги, введите:
Результат будет выглядеть примерно так:
Вот и все, вы установили memcached на свой сервер Ubuntu 20.04 и можете начать его использовать.
Настройка Memcached
Для большинства пользователей достаточно настроек конфигурации по умолчанию.
Удаленный доступ
Если клиент, подключающийся к memcached, работает на том же хосте, вы не должны разрешать удаленный доступ.
При неправильной настройке memcached может использоваться для выполнения распределенной атаки типа «отказ в обслуживании» (DDoS). Чтобы разрешить удаленный доступ к серверу memcached, вам необходимо настроить брандмауэр и открыть UDP-порт 11211 memcached только от доверенных клиентов.
Первый шаг — отредактировать конфигурацию memcached и настроить службу на прослушивание через частный сетевой интерфейс сервера:
Для этого откройте файл конфигурации memcached.conf :
Перезапустите службу Memcached, чтобы изменения вступили в силу:
Подключение к Memcached
Существует множество реализаций клиентов memcached, написанных для разных языков программирования.
Чтобы использовать Memcached в качестве кэширующей базы данных для вашего PHP- приложения, такого как WordPress, Drupal, Joomla или Magento, вам необходимо установить расширение php-memcached :
Python
Есть несколько библиотек Python для взаимодействия с memcache. Вы можете установить предпочитаемую библиотеку с помощью pip :
Выводы
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии ниже.
Установка и защита Memcached на Ubuntu 16.04
Введение
Разные утилиты, которые используются для кэширования (например, Memcached), могут повышать производительность базы данных путем временного сохранения информации в памяти. Обычно это касается тех записей, которые вы либо недавно запрашивали, либо запрашиваете часто. В этом случае при использовании кэширования уменьшается количество прямых запросов к базе данных.
При использовании систем вроде Memcached крайне важно правильно защитить серверы, где они установлены, иначе атаки на сервер могут иметь очень печальные последствия.
Поэтому в этом руководстве будет рассказано не только о том, как установить, но и как защитить сервер с Memcached.
Требования
Перед тем, как приступить к выполнению инструкций, на вашем сервере должна быть установлена ОС Ubuntu 16.04 с пользователем, который может выполнять команды sudo, и файерволом.
Шаг 1: установка Memcached из официальных репозиториев
Если на вашем сервере еще нет Memcached, то вы можете установить эту утилиту из официальных репозиториев Ubuntu. Сначала необходимо обновить индекс пакетов:
Далее установите пакет:
Для удобства работы с Memcached можно также установить libmemcached-tools, библиотеку с несколькими полезными инструментами:
Теперь на вашем сервере Memcached установлен в качестве одного из сервисов, и пора перейти к настройке защиты.
Шаг 2: защита настроек Memcached
Для начала надо проверить, что Memcached слушает localhost 127.0.0.1. Для этого нужно посмотреть настройки в конфигурационном файле, который находится в /etc/memcached.conf.
Откройте /etc/memcached.conf, используя nano:
Потом найдите следующую строчку:
Затем сохраните и закройте файл.
Перезапустите Memcached для того, чтобы изменения вступили в силу.
Убедитесь, что Memcached привязан к локальному интерфейсу и слушает только TCP:
Вывод будет примерно таким:
Шаг 3: добавление авторизованных пользователей
Сначала нужно включить поддержку SASL в конфигурационном файле Memcached, а затем перейти к добавлению пользователя.
Настройка поддержки SASL
Проверьте текущее состояние Memcached, используя команду memcstat. Это нужно для того, чтобы в дальнейшем можно было отследить сделанные изменения.
Чтобы убедиться в том, что сервис Memcached запущен и работает, введите команду:
Вы должны увидеть примерно вот такой вывод:
В конце файла добавьте:
Сохраните и закройте файл.
Перезапустите сервис Memcached:
Теперь можно посмотреть логи для того, чтобы убедиться, что поддержка SASL включена:
Вы должны увидеть следующую строку:
Можно еще раз проверить статус Memcached, но т.к. теперь активен SASL, без аутентификации эта команда не будет выполнена:
Вы не увидите никакого вывода. Для проверки статуса команды можно ввести команду ниже:
Она покажет код завершения: любые цифры, кроме 0, говорят о том, что команду выполнить не удалось. В данном случае вы должны увидеть 1, а значит, команда не была выполнена.
Добавление авторизованного пользователя
Теперь можно загрузить пакет sasl2-bin, который содержит программы администрирования базы пользователей SASL. Это позволит создать авторизованного пользователя:
Далее вам нужно создать директорию и файл, который Memcached будет использовать для проверки настроек SASL:
Добавьте следующие строки в конфигурационный файл SASL:
Mech_list установлен на plain, это значит, что Memcached будет использовать собственный файл с паролями и сверять текстовый пароль. Также нужно будет указать путь к файлу базы данных пользователя (это будет сделано далее). Сохраните и закройте файл после изменений.
Далее нужно изменить права: пользователь user должен получить права на базу данных SASL.
После этого перезапустите Memcached:
Команда memcstat покажет, работает или нет теперь аутентификация (введите ее со своими данными):
Вывод должен выглядеть примерно вот так:
А значит, Memcached успешно работает с поддержкой SASL и пользовательской авторизацией.
Установка Memcached в Ubuntu
Также сервис может использоваться для кэширования различных объектов веб-серверами, такими, как Apache или Nginx. В этой статье мы разберём установку Memcached в Ubuntu 18.04, а также основные настройки программы.
Как установить Memcached в Ubuntu
1. Установка сервиса
Сама по себе установка Memcached не вызовет проблем. Вам достаточно выполнить такую команду:
sudo apt install memcached libmemcached-tools
Вместе с самим сервисом мы устанавливаем набор дополнительных утилит для более простого управления Memcached. На этом установка завершена.
2. Настройка Memcached
Настройка Memcached Ubuntu выполняется через файл /etc/memcahced.conf. В этом файле содержаться опции, которые будут переданы сервису при запуске:
Таким образом, большинство опций можно оставить по умолчанию. Изменить нужно только объём оперативной памяти и IP-адрес.
3. Запуск сервиса
Даже если сервис был запущен по умолчанию, после изменения настроек его нужно перезапустить:
sudo systemctl restart memcached
Можно ещё убедиться, что Memcached работает именно на том IP и порте, которые нам нужны:
Затем вы можете посмотреть статистику использования сервиса командой:
Работать с Memcached мы можем уже сейчас. Для этого нужно использовать Telnet. Подключаемся к серверу:
telnet localhost 11211
Если подключение прошло успешно, вы увидите такое сообщение:
Используйте команду stats, чтобы получить общую статистику, которую мы видели в выводе команды memcstat:
Для того, чтобы сохранить данные, используется команда add. У неё такой синтаксис:
add имя_ключа флаги время_хранения размер_данных
данные
add key 0 0 9
memcached
Получить значение сохранённого ключа можно командой get:
А удалить этот ключ командой delete:
А вот посмотреть список всех ключей в Telnet так просто не получится. Сначала нужно посмотреть список хранилищ:
stats cachedump 1 100
Для выхода наберите команду quit. С помощью команды memcdump вы можете вывести список всех сохраненных ключей:
А с помощью memccat можно вывести значение нужного ключа:
Но все эти возможности используются только для отладки. Для реального хранения данных используются клиенты memcached для разных языков программирования. Их очень просто установить. Давайте рассмотрим это на примере Php.
4. Настройка Memcached и Php
Давайте рассмотрим настройку библиотеки Memcached для Php. Чтобы её установить, выполните:
sudo apt install php-memcached
Затем перезапустите apache, если хотите использовать модуль на веб-сервере:
sudo systemctl restart apache2
Далее вы можете убедится, что модуль активирован, вызвав функцию phpinfo():
Выводы
В этой статье мы разобрали, как выполняется установка Memcached Ubuntu, а также как использовать этот сервис для кэширования данных из командной строки или в PHP. Не забудьте убедиться, что сервис слушает подключения только на локальном IP- адресе, поскольку здесь нет аутентификации, и к вашим данным смогут получить доступ другие пользователи. Также это может быть небезопасным из-за того, что в Memcached были найдены уязвимости, которые позволяют осуществлять атаку типа отказ в обслуживании.