源码安装redis3.2.3并注册为系统服务
1、下载安装包redis-3.2.3.tar.gz
wget http://download.redis.io/releases/redis-3.2.3.tar.gz
2、解压并安装
tar -zxvf redis-3.2.3.tar.gz
cd redis-3.2.3/src
make prefix=/usr/local/redis install #指定安装路径
3、创建配置文档,修改配置
创建配置文档路径
mkdir /etc/redis
cp ../redis.conf /etc/redis/6379.conf
vim /etc/redis/6379.conf
以下几个参数常用到
daemonize no #后台运行
bind 127.0.0.1 #绑定ip,需要外网访问时将其注释掉
protected-mode yes #保护模式,默认是开启的,需要其他客户端链接时,改为no关闭
requirepass foobared #其他客户端链接时的密码
appendonly yes #每次更新后记录日志
4、注册系统服务,开机自启
创建启动脚本
cp ../utils/redis_init_script /etc/rc.d/init.d/redis
vim /etc/rc.d/init.d/redis
修改redis启动脚本,要修改的地方有
- 添加 chkconfig 注释
- redis-server 、redis-cli 、pidfile、redis.conf路径
- 如果需要配置密码,还要在停止命令增加参数 -a 指定密码
#!/bin/sh
# chkconfig: 2345 90 10 #添加 chkconfig 注释
# Simple Redis init.d script conceived to work on Linux systems
# as it does use of the /proc filesystem.
REDISPORT=6379
EXEC=/usr/local/redis/bin/redis-server
CLIEXEC=/usr/local/redis/bin/redis-cli
PIDFILE=/var/run/redis_${REDISPORT}.pid
CONF="/etc/redis/6379.conf"
case "$1" in
start)
if [ -f $PIDFILE ]
then
echo "$PIDFILE exists, process is already running or crashed"
else
echo "Starting Redis server..."
$EXEC $CONF
fi
;;
stop)
if [ ! -f $PIDFILE ]
then
echo "$PIDFILE does not exist, process is not running"
else
PID=$(cat $PIDFILE)
echo "Stopping ..."
$CLIEXEC -p $REDISPORT shutdown
while [ -x /proc/${PID} ]
do
echo "Waiting for Redis to shutdown ..."
sleep 1
done
echo "Redis stopped"
fi
;;
*)
echo "Please use start or stop as first argument"
;;
esac
保存后执行注册成系统服务:
chkconfig --add redis
chkconfig redis on
完成后,可以使用 service redis start|stop
启动关闭redis服务
5、添加环境变量:
vim /etc/profile
在最后添加:
PATH=$PATH:/usr/local/redis/bin
export PATH
source /etc/profile
6、启动服务并测试
service redis start
ps -ef | grep redis
用redis-cli 链接,set,get正常
redis-cli -h 127.0.0.1 -p 6379 -a foobared
127.0.0.1:6379> set name xiaoming
OK
127.0.0.1:6379> get name
"xiaoming"
127.0.0.1:6379>