Как установить Redis 2.8 (новейший) + PhpRedis на Ubuntu из исходных кодов
25 сент. 2014 г., 18:55:35Redis это современное и очень быстрое хранилище данных "ключ-значение". Кто-то причисляет его к "NoSQL" хранилищам, кто-то просто считает, что это "кэш в оперативной памяти". И каждый по своему прав - в любом случае Redis это мощный инструмент, который может быть очень эффективен во многих случаях.
Изучаем Redis
Если вы тесно не знакомы с Redis. Начните с Маленькой книге о Redis от Карла Сегуина. Книга даёт базовое понимание и вдохновляет к использованию. После неё вы уже легко разберётесь в какую сторону "копать" дальше в изучении Redis (материалов и документации в Интернете великое множество).
Redis активно разрабатывают и часто обновляют новым функционалом, и потому многие менеджеры пакетов для Linux содержат устаревшие версии. Я рекомендую устанавливать Redis и php_redis (PHP расширание для связи с Redis) из свежайших исходных кодов - это легко и просто.
Я приготовил bash для инсталляции Redis в Ubuntu "одним махом".
Устанавливаем последний Redis из исходных кодов
Пошагово : Сохраняем в .sh файл и запусткаем.
#!/bin/bash
if [ "$(whoami)" != "root" ]; then
echo "ERROR : Run script as Root (sudo !!) please"
exit 1
fi
read -e -p "Redis version to be installed (change if needed) : " -i "2.8.8" VERSION
echo 'Installing redis v.'$VERSION' ... '
# Устанавливаем build essentials, если необходимо
apt-get install build-essential
wget http://download.redis.io/releases/redis-$VERSION.tar.gz
tar xzf redis-$VERSION.tar.gz
cd redis-$VERSION
make
make install prefix=/usr/local/bin/
cp redis.conf /etc/redis.conf
cd ..
rm redis-$VERSION -R
rm redis-$VERSION.tar.gz
Добавляем сервис redis-server
useradd -r -s /bin/false redis
wget -O /etc/init.d/redis-server https://gist.github.com/iJackUA/5336459/raw/4d7e4adfc08899dc7b6fd5d718f885e3863e6652/redis-server-for-init.d-startup
touch /var/run/redis.pid
chown redis:redis /var/run/redis.pid
chmod 755 /etc/init.d/redis-server
Добавляем сервис redis-server в автозапуск
update-rc.d redis-server defaults
Устанавливаем PhpRedis из исходных кодов
PhpRedis это эффективное расширение PHP, написанное на языке C, предоставляющее API для работы с Redis.
Сохраняем в .sh файл и запускаем. Это установит необъодимые PHP зависимости, последний php_redis, добавит настройки расширения и перезапустит сервер Apache. Если вы не используете Apache2, то подправьте скрипт с необходимыми вам шагами.
#!/bin/bash
if [ "$(whoami)" != "root" ]; then
echo "ERROR : Run script as Root (sudo !!) please"
exit 1
fi
read -e -p "php_redis version to be installed (change if needed) : " -i "2.2.5" VERSION
echo 'Installing php_redis v.'$VERSION' ... '
# installing build essentials if it is missing
apt-get install php5-dev php-pear
wget https://github.com/nicolasff/phpredis/archive/$VERSION.tar.gz
tar xzf $VERSION.tar.gz
cd phpredis-$VERSION
phpize
./configure
make
make install
cd ..
rm phpredis-$VERSION -R
rm $VERSION.tar.gz
mv /etc/php5/mods-available/redis.ini /etc/php5/mods-available/redis.bkp
touch /etc/php5/mods-available/redis.ini
echo "extension=redis.so" > /etc/php5/mods-available/redis.ini
ln -s /etc/php5/mods-available/redis.ini /etc/php5/apache2/conf.d/redis.ini
ln -s /etc/php5/mods-available/redis.ini /etc/php5/cli/conf.d/redis.ini
service apache2 restart
Для обновления - запустить ещё раз
Скрипты весьма понятны и линейны, т.к. используют только базовые операции, которые легко адаптировать под свою среду и сервер. И при необходимости обновить Redis - их можно просто перезапустить, указав новую версию.