Установка Memcached · 4 min read · Nov 07, 2025

Как установить Memcached на Ubuntu 22.04

Memcached — это бесплатная, с открытым исходным кодом и универсальная распределенная система кэширования в памяти, используемая для кэширования данных базы данных. Это высокопроизводительная система кэширования в памяти, используемая для ускорения динамических веб-приложений за счет снижения нагрузки на базу данных. Memcached состоит из четырех компонентов, которые позволяют клиенту и серверу работать вместе, чтобы максимально эффективно предоставлять кэшированные данные. Он предлагает интеграцию API для всех основных языков, таких как PHP, Java, C/C++, Python, Ruby, Perl и др.

Этот учебник покажет вам, как установить сервер Memcached на сервере Ubuntu 22.04 и как использовать его с PHP.

Требования

  • Сервер с установленной Ubuntu 22.04.
  • Пароль root, настроенный на вашем сервере.

Установка Memcached на Ubuntu 22.04

По умолчанию пакет Memcached включен в стандартный репозиторий Ubuntu. Вы можете установить его легко, используя следующую команду:

apt install memcached libmemcached-tools -y

После установки Memcached запустите службу Memcached, используя следующую команду:

systemctl start memcached

Вы можете проверить статус Memcached с помощью следующей команды:

systemctl status memcached

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

? memcached.service - memcached daemon
     Loaded: loaded (/lib/systemd/system/memcached.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2022-10-18 13:09:47 UTC; 29s ago
       Docs: man:memcached(1)
   Main PID: 5525 (memcached)
      Tasks: 10 (limit: 2242)
     Memory: 1.7M
        CPU: 71ms
     CGroup: /system.slice/memcached.service
             ??5525 /usr/bin/memcached -m 64 -p 11211 -u memcache -l 127.0.0.1 -P /var/run/memcached/memcached.pid

Oct 18 13:09:47 ubuntu2204 systemd[1]: Started memcached daemon.

Чтобы проверить версию Memcached, выполните следующую команду:

memcached -V

Вы получите следующий вывод:

memcached 1.6.14

По умолчанию Memcached слушает на порту 11211. Вы можете проверить это с помощью следующей команды:

ss -plunt | grep memcache

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

tcp   LISTEN 0      1024                        127.0.0.1:11211      0.0.0.0:*    users:(("memcached",pid=5525,fd=22)) 

Установка расширения PHP Memcached

Чтобы использовать Memcached с приложениями на основе PHP, вам нужно установить расширение PHP Memcached на ваш сервер. Вы можете установить его с Apache, используя следующую команду:

apt install apache2 php libapache2-mod-php php-memcached php-cli -y

Затем создайте тестовую страницу PHP, чтобы проверить Memcached:

nano /var/www/html/info.php

Добавьте следующий код:

Сохраните и закройте файл, затем перезапустите службу Apache, чтобы применить изменения:

systemctl restart apache2

Затем откройте веб-браузер и получите доступ к PHP-странице, используя URL http://your-server-ip/info.php. Вы должны увидеть Memcached на следующем экране:

PHP Memcached

Затем создайте еще одну тестовую страницу PHP, чтобы проверить, работает ли Memcached или нет.

nano /var/www/html/test.php

Добавьте следующий код:

addServer("127.0.0.1", 11211); 
$response = $memcached->get("key_cache");

if($response==true) 
{
echo "Результат из кэша";
echo $response;
}

else

{
echo "Кэш еще не создан, перезагрузите страницу, чтобы увидеть изменения";
$memcached->set("key_cache", "Ура! Memcache теперь работает ...") ;
}
}
catch (exception $e)
{
echo $e->getMessage();
}
?>

Сохраните и закройте файл, затем откройте веб-браузер и получите доступ к тестовой странице PHP, используя URL http://your-server-ip/test.php. Вы должны увидеть следующий экран:

Тест PHP memcached

Затем перезагрузите страницу снова. На этот раз страница загрузится из кэшированной памяти, как показано ниже:

Результат PHP из memcached

Защита Memcached с помощью аутентификации

Рекомендуется использовать Simple Authentication and Security Layer (SASL) для защиты Memcached с помощью аутентификации на основе пользователей. Для этого вам нужно будет установить пакет sasl2-bin на ваш сервер.

apt install sasl2-bin

Затем создайте каталог и файл конфигурации для аутентификации SASL:

mkdir -p /etc/sasl2  
nano /etc/sasl2/memcached.conf

Добавьте следующие строки:

log_level: 5
mech_list: plain
sasldb_path: /etc/sasl2/memcached-sasldb2

Сохраните и закройте файл, затем создайте базу данных SASL с учетными данными пользователя:

saslpasswd2 -a memcached -c -f /etc/sasl2/memcached-sasldb2 user1

Установите свой пароль, как показано ниже:

Password: 
Again (for verification): 

Затем измените владельца базы данных Memcached:

chown memcache:memcache /etc/sasl2/memcached-sasldb2

Затем проверьте Memcached с помощью следующей команды:

memcstat --servers="127.0.0.1"

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

Server: 127.0.0.1 (11211)
     pid: 5525
     uptime: 462
     time: 1666099048
     version: 1.6.14
     libevent: 2.1.12-stable
     pointer_size: 64
     rusage_user: 0.110123
     rusage_system: 0.093906
     max_connections: 1024
     curr_connections: 1
     total_connections: 4
     rejected_connections: 0
     connection_structures: 2
     response_obj_oom: 0
     response_obj_count: 1
     response_obj_bytes: 49152
     read_buf_count: 6
     read_buf_bytes: 98304
     read_buf_bytes_free: 32768
     read_buf_oom: 0
     reserved_fds: 20
     cmd_get: 2
     cmd_set: 1
     cmd_flush: 0
     cmd_touch: 0
     cmd_meta: 0
     get_hits: 1
     get_misses: 1
     get_expired: 0
     get_flushed: 0
     delete_misses: 0

Затем отредактируйте файл конфигурации Memcached:

nano /etc/memcached.conf

Добавьте следующие строки:

-S
-vv

Сохраните и закройте файл, затем перезапустите службу Memcached, чтобы применить изменения:

systemctl restart memcached

Затем проверьте поддержку SASL с помощью следующей команды:

journalctl -u memcached |grep SASL

Если все в порядке, вы получите следующий вывод:

Journal file /var/log/journal/d97e195db6584d63aeedfdc35dc83c7f/user-1000.journal is truncated, ignoring file.
Oct 18 13:18:19 ubuntu2204 systemd-memcached-wrapper[14980]: Initialized SASL.

Проверка аутентификации Memcached

Сначала попробуйте снова проверить подключение к Memcached без аутентификации:

memcstat --servers="127.0.0.1"

Команда не должна выдавать вывод. Введите следующую команду оболочки, чтобы проверить его статус:

echo $?

Вы должны получить следующий код состояния, что означает, что команда memcstat не удалась.

1

Затем снова выполните команду Memcached, указав имя пользователя и пароль:

memcstat --servers="127.0.0.1" --username=user1 --password=password

Вы получите следующий вывод:

Server: 127.0.0.1 (11211)
     pid: 14980
     uptime: 46
     time: 1666099143
     version: 1.6.14
     libevent: 2.1.12-stable
     pointer_size: 64
     rusage_user: 0.077843
     rusage_system: 0.049072
     max_connections: 1024
     curr_connections: 1
     total_connections: 3
     rejected_connections: 0
     connection_structures: 2
     response_obj_oom: 0
     response_obj_count: 1
     response_obj_bytes: 16384
     read_buf_count: 3
     read_buf_bytes: 49152
     read_buf_bytes_free: 16384
     read_buf_oom: 0

Установка Memcached для Python

Если вы хотите интегрировать Memcached с веб-приложениями на Python, вам нужно будет установить расширение Memcached для Python. Вы можете установить его с помощью следующей команды:

apt install python3-pip  
pip install pymemcache  
pip install python-memcached

Заключение

В этом посте мы объяснили, как установить сервер Memcached на Ubuntu 22.04. Мы также объяснили, как защитить Memcached с помощью аутентификации на основе SASL. Я надеюсь, что теперь вы сможете интегрировать Memcached с вашим приложением, чтобы ускорить его производительность. Не стесняйтесь задавать мне вопросы, если у вас есть какие-либо.

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.