Установка Memcached на Ubuntu Server 18.04

Memcache — это программа, которая позволяет временно хранить (кэшировать) данные в оперативной памяти на основе хеш-таблиц. При поступлении запроса, memcache проверит наличие данных в оперативной памяти, если данных в кэше нет, будет произведен запрос к базе данных. При последующем запросе тех же данных ответ будет выдан из оперативной памяти Memcache. Это позволит нам значительно ускорить работу сервера, т.к. данные будут отдаваться из оперативной памяти, а не из базы данных.

Установка Memcached и компонентов

Все компоненты доступны в официальном репозитории Ubuntu

Нам потребуется установить  Memcached и необходимые зависимости, сервер баз данных MySQL и PHP с компонентами для взаимодействия.

Установка Memcached

sudo apt install memcached libmemcached-dev

По дефолту Memcached прослушивает порт — 11211, на localhost(127.0.0.1). Файл настроек Memcached расположен /etc/memcached.conf

  • logfile /var/log/memcached.log — задается расположение лог файла
  • -m — задает размер памяти под кеш (в мегабайтах)
  • -p — задается порт, который слушает Memcached
  • -l — задается IP адрес, который слушает Memcached

Установка необходимых компонентов

sudo apt update && sudo apt install mysql-server mysql-client php-mysql php php-memcached

Стоит обратить внимание. Есть два компонента для PHP Memcache, один php-memcache, а другой php-memcached. Мы будем использовать php-memcached, т.к. он более стабилен и реализует больше возможностей.

Теперь давайте проверим, как это работает
Сделаем запрос к PHP, что он знает о Memcached и включен ли он.

Создаем файл info.php в корневом разделе по умолчанию. /var/www/html/

sudo nano /var/www/html/info.php

С содержимым:

<?php
phpinfo();
?>

Сохраняем файл ctrl+o и выходим ctrl+x

Теперь посмотрим информацию в браузере. Для этого переходим по адресу:

http://IP_сервера/info.php

должны получить вот такое:

Memcached включен и найден на сервере.

Так же можно проверить, запущена ли служба Memcached

sudo netstat -tap | grep memcached

Вывод должен быть следующий:

tcp  0  0 localhost.localdo:11211 0.0.0.0:*  LISTEN   5971/memcached
<