Меня попросили установить модуль memcached на обычный веб сервер. Задача простая и банальная, никаких сложностей раньше с этим не было. Но тут есть нюанс - установлена панель управления web сервером plesk. Задача резко усложняется, так как эта панель штатно не поддерживает установку и работу этого модуля. Расскажу, как правильно установить memcached на plesk.
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.
Содержание:
Введение
Я работал на сервере Ubuntu 14.04.5 LTS. Эта статья будет актуальна для всех версий Ubuntu и Debian. В Centos нужно будет поменять имена устанавливаемых пакетов, а так все то же самое. Я покажу на примере версии php 7.1. Для остальных установленных в панели версий все делается аналогично, только меняем версию пакетов.
Если вы просто установите memcached стандартным способом, то он у вас запустится и будет работать. Вот только веб сервер не увидит новое расширение. У plesk свои обвязки для вебсервера - директории, конфиги, модули. Необходимо все аккуратно прописать в них. Приступим.
Установка расширения php-memcached в plesk
Начинаем с обновления сервера. Если этого не сделать, то скорее всего установленная свежая версия memcached из исходников будет конфликтовать с более старой версией модуля plesk-php. В итоге работать не будет. Я именно с этим и столкнулся. Так что первым делом обновляем сервер.
# apt-get update && apt-get upgrade
Теперь ставим необходимые для сборки компоненты. Что-то возможно у вас уже будет установлено.
# apt-get install plesk-php71-dev gcc make git pkg-config zlib1g-dev libmemcached-dev
Копируем исходники php модуля memcached.
# cd /usr/src # git clone https://github.com/php-memcached-dev/php-memcached.git
Собираем и устанавливаем.
# cd php-memcached/ # git checkout php7 # /opt/plesk/php/7.1/bin/phpize # ./configure --disable-memcached-sasl --with-php-config=/opt/plesk/php/7.1/bin/php-config # make && make install
Обращаю внимание на выделенные значения. Для другой версии php нужно заменить путь на соответствующую версию. Подключаем модуль.
# echo "extension=memcached.so" > /opt/plesk/php/7.1/etc/php.d/memcached.ini # plesk bin php_handler --reread
Перезапускаем службы.
# service apache2 restart # service plesk-php71-fpm restart # service psa restart
Проверяем вывод phpinfo. Модуль должен быть подключен. Если его там нет, посмотрите вывод команды.
# /opt/plesk/php/7.1/bin/php -i | grep memcached
Если все в порядке, то должно быть примерно следующее:
Если будет какая-то ошибка, получите информацию. Пока я не обновил систему, получал ошибку в выводе команды о том, что у меня разные версии php и memcached.
Установка memcached в Ubuntu
Теперь ставим memcached в систему стандартным способом.
# apt-get install memcached
Добавляем в автозагрузку:
# update-rc.d memcached enable
Проверяем, что он установился и запустился.
# netstat -tulnp | grep memcached tcp 0 0 127.0.0.1:11211 0.0.0.0:* LISTEN 12044/memcached udp 0 0 127.0.0.1:11211 0.0.0.0:* 12044/memcached
# ps aux | grep memcached memcache 12044 0.0 0.0 325408 2756 ? Sl 17:42 0:00 /usr/bin/memcached -m 64 -p 11211 -u memcache -l 127.0.0.1 root 12066 0.0 0.0 11760 2288 pts/6 S+ 17:44 0:00 grep --color=auto memcached
Все в порядке.
Проверка работы memcached
Проверим работу memcached. Для этого на веб сервере создаем следующий скрипт:
# mcedit /var/www/vhosts/zerotest.ru/httpdocs/cache_test.php
<?php $mem = new Memcached(); $mem->addServer("127.0.0.1", 11211); $result = $mem->get("data"); if ($result) { echo $result; } else { echo "Записи нет в кэше. Добавляю!"; $mem->set("data", "Я запись из кэша. Memcached работает") or die ("Не могу сохранить в memcached..."); } ?>
При первом заходе на страничку, вы должны увидеть строку "Записи нет в кэше. Добавляю!". В этот момент добавляется запись в memcached. Теперь обновите страницу, должны увидеть строку "Я запись из кэша. Memcached работает". Это будет означать, что memcached правильно настроен и работает. Если это не так, то смотрите логи, разбирайтесь, в чем проблема.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном онлайн-курcе по администрированию MikroTik. Автор курcа – сертифицированный тренер MikroTik Дмитрий Скоромнов. Более 40 лабораторных работ по которым дается обратная связь. В три раза больше информации, чем в MTCNA.
Добрый день!
Делал всё по вашей инструкции но после ввода команды
# make && make install
выводится ошибка http://joxi.ru/n2YOoZyibP4gNr
Статья скорее всего уже устарела. Не знаю, чем вам помочь.