Введение
Memcached — это бесплатное высокопроизводительное хранилище данных типа «ключ-значение» с открытым исходным кодом в памяти. В основном используется как система кэширования для ускорения работы приложений за счет кэширования различных объектов из результатов обращений к базе данных.
В этом руководстве мы объясним, как установить и настроить Memcached в CentOS 8.
Предпосылки
Прежде чем продолжить работу с этим учебным пособием, убедитесь, что вы вошли в систему как пользователь с привилегиями sudo.
Если вы хотите установить 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
Установить Memcached
Пакеты memcached включены в репозитории CentOS 8 по умолчанию. Установка довольно проста, достаточно ввести следующую команду:
sudo yum install memcached libmemcached
Пакет libmemcached
содержит несколько инструментов командной строки для управления сервером Memcached.
После завершения установки запустите и включите службу Memcached.
sudo systemctl start memcached
sudo systemctl enable memcached
Вот и все, на данный момент у вас установлен и запущен Memcached на вашем сервере CentOS 8.
Настроить Memcached
Memcached можно настроить, отредактировав /etc/sysconfig/memcached
. По умолчанию Memcached настроен на прослушивание всех интерфейсов. В следующих разделах мы покажем вам, как настроить службу для локального и удаленного доступа.
Если Memcached настроен неправильно, его можно использовать для выполнения атаки распределенного отказа в обслуживании (DDoS).
Только локальный доступ
Если клиент, подключающийся к серверу, также работает на том же хосте, рекомендуется настроить службу Memcached на прослушивание только локального хоста.
Для этого откройте файл конфигурации memcache
в текстовом редакторе:
sudo vi /etc/sysconfig/memcached
В параметре OPTIONS
добавьте -l 127.0.0.1
. Это говорит Memcached привязываться только к указанному интерфейсу:
OPTIONS="-l 127.0.0.1"
Перезапустите службу Memcached, чтобы изменения вступили в силу:
sudo systemctl restart memcached
Удаленный доступ
Если приложение, которое будет подключаться к Memcached, размещено на удаленном сервере, вам необходимо настроить брандмауэр и разрешить доступ к порту Memcached 11211
только с IP-адреса клиента.
В следующем примере предполагается, что вы хотите подключиться к серверу Memcached через частную сеть. IP-адрес сервера Memcached — 192.168.222.222
, а IP-адрес клиента — 192.168.111.111
CentOS поставляется с инструментом настройки FirewallD
FirewallD. Следующие команды создадут новую зону с именем memcached
, откроют порт 11211
и разрешат доступ только с IP-адреса клиента.
sudo firewall-cmd --new-zone=memcached --permanent
sudo firewall-cmd --zone=memcached --add-port=11211/udp --permanent
sudo firewall-cmd --zone=memcached --add-port=11211/tcp --permanent
sudo firewall-cmd --zone=memcached --add-source=192.168.100.30/32 --permanent
sudo firewall-cmd --reload
После настройки брандмауэра следующим шагом будет изменение конфигурации Memcached и настройка службы для прослушивания интерфейса частной сети сервера:
Откройте файл конфигурации memcached
:
sudo nano /etc/sysconfig/memcached
В параметре OPTIONS
добавьте IP-адрес сервера -l 192.168.222.222
:
OPTIONS="-l 192.168.222.222"
Сохраните файл и перезапустите службу Memcached:
sudo systemctl restart memcached
Подключиться к Memcached
Для подключения к серверу Memcached необходимо использовать клиент для определенного языка.
PHP
Чтобы использовать Memcached в качестве кэширующей базы данных для вашего PHP -приложения, такого как WordPress, Drupal или Magento, вам необходимо установить расширение php-pecl-memcached
:
sudo yum install php-pecl-memcache
Питон
Существует несколько библиотек Python для взаимодействия с memcache. Вы можете установить свою любимую библиотеку с помощью pip:
pip install pymemcache
pip install python-memcached
Вывод
Вы узнали, как установить Memcached на свой сервер CentOS 8. Для получения дополнительной информации по этой теме см. Memcached Wiki.