Введение
Memcached — это бесплатное высокопроизводительное хранилище данных типа «ключ-значение» с открытым исходным кодом в памяти. Он обычно используется для ускорения работы приложений за счет кэширования различных объектов из результатов обращений к базе данных.
В этом руководстве мы рассмотрим процесс установки и настройки последней версии Memcached в Ubuntu 18.04. Те же инструкции относятся к Ubuntu 16.04 и любому дистрибутиву на основе Ubuntu.
Если вы намерены установить Memcached на удаленный сервер, читайте дальше, в противном случае, если вы хотите установить Memcached на свой локальный компьютер, пропустите первый абзац «Подключение к серверу» и прочитайте следующий.
Подключение к серверу
Чтобы получить доступ к серверу, вам нужно знать IP-адрес. Вам также потребуется ваше имя пользователя и пароль для аутентификации. Чтобы подключиться к серверу как root, введите следующую команду:
ssh root@IP_DEL_SERVER
Далее вам нужно будет ввести пароль пользователя root.
Если вы не используете пользователя root, вы можете войти под другим именем пользователя с помощью той же команды, а затем изменить root на свое имя пользователя:
ssh nome_utente@IP_DEL_SERVER
Затем вам будет предложено ввести пароль пользователя.
Стандартный порт для подключения по ssh — 22, если ваш сервер использует другой порт, вам нужно будет указать его с помощью параметра -p, затем введите следующую команду:
ssh nome_utente@IP_DEL_SERVER -p PORTA
Предпосылки
Прежде чем продолжить работу с этим учебным пособием, убедитесь, что вы вошли в систему как пользователь с привилегиями sudo.
Установить Memcached
Пакеты memcached включены в репозитории Ubuntu 18.04 по умолчанию. Установка довольно проста, просто выполните следующие действия:
Начните с обновления списка пакетов apt:
sudo apt update
Установите Memcached, набрав:
sudo apt install memcached libmemcached-tools
Пакет libmemcached-tools
содержит несколько инструментов командной строки для управления сервером Memcached.
После завершения установки служба Memcached запустится автоматически. Чтобы проверить статус службы, введите следующую команду:
sudo systemctl status memcached
Вывод будет выглядеть следующим образом:
● memcached.service - memcached daemon
Loaded: loaded (/lib/systemd/system/memcached.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2019-03-11 12:04:22 PDT; 32s ago
Docs: man:memcached(1)
Main PID: 10423 (memcached)
Tasks: 10 (limit: 2319)
CGroup: /system.slice/memcached.service
`-10753 /usr/bin/memcached -m 64 -p 11211 -u memcache -l 127.0.0.1 -P /var/run/memcached/memcached.pid
Вот и все, на данный момент Memcached установлен и работает на вашем сервере Ubuntu 18.04.
Memcached-конфигурация
Memcached можно настроить, отредактировав файл /etc/memcached.conf
. Параметры конфигурации по умолчанию достаточны для большинства пользователей.
По умолчанию Memcached настроен на прослушивание только на локальном хосте. Если клиент, подключающийся к серверу, также работает на том же хосте, нет необходимости изменять файл конфигурации по умолчанию.
Удаленный доступ
При неправильной настройке Memcached может использоваться для выполнения атаки распределенного отказа в обслуживании (DDoS). Если вы хотите разрешить удаленный доступ к серверу Memcached, вы должны настроить брандмауэр и разрешить доступ к UDP-порту Memcached 11211 только доверенным клиентам.
В следующем примере предполагается, что вы хотите подключиться к серверу Memcached через частную сеть. IP-адрес сервера — 192.168.111.11
, а IP-адрес клиента — 192.168.222.22
.
Ubuntu поставляется с инструментом настройки брандмауэра под названием UFW. По умолчанию UFW установлен, но не включен. Перед включением брандмауэра UFW добавьте правило, разрешающее входящие соединения SSH (если вы используете стандартный порт для соединения ssh):
sudo ufw allow 22
Разрешить оценку с IP-адреса удаленного клиента:
sudo ufw allow from 192.168.222.22 to any port 11211
Включите UFW, набрав:
sudo ufw status
После настройки брандмауэра следующим шагом будет изменение конфигурации Memcached и настройка службы Memcached для прослушивания интерфейса частной сети сервера:
Для этого откройте конфигурационный файл memcached.conf
:
sudo nano /etc/memcached.conf
Найдите строку, начинающуюся с -l 127.0.0.1
, и замените 127.0.0.1
на IP-адрес сервера 192.168.111.11
.
# Specify which IP address to listen on. The default is to listen on all IP addresses
# This parameter is one of the only security measures that memcached has, so make sure
# it's listening on a firewalled interface.
-l 192.168.111.11
Перезапустите службу Memcached, чтобы изменения вступили в силу:
sudo systemctl restart memcached
Теперь вы можете подключиться к серверу Memcached из своего удаленного местоположения.
Подключиться к Memcached
Для подключения к серверу Memcached необходимо использовать клиент для определенного языка.
PHP
Чтобы использовать Memcached в качестве кэширующей базы данных для PHP-приложений, таких как WordPress, Drupal, Joomla или Magento, вам необходимо установить расширение php-memcached
:
sudo apt install php-memcached
Питон
Существует несколько библиотек Python для взаимодействия с memcache. Вы можете установить свою любимую библиотеку с помощью pip:
pip install pymemcache
pip install python-memcached
Вывод
Вы узнали, как установить Memcached на свой сервер Ubuntu. Для получения дополнительной информации по этой теме см . Memcached Wiki.