Linux环境下Redis的安装与配置

1.1 Redis安装条件
系统中需要先行安装gcc,例:
CentOS: yum install gcc
Ubuntu: apt-get install gcc


1.2 Redis安装
1. 下载最新稳定版源码包redis-2.8.19.tar.gz到/usr/local/src目录
root@ubuntu:~ # cd /usr/local/src
root@ubuntu:/usr/local/src# wget http://redis.googlecode.com/files/redis-2.8.19.tar.gz (大家懂得,需要翻墙)
root@ubuntu:/usr/local/src# wget http://download.redis.io/releases/redis-2.8.19.tar.gz


2. 解压:
root@ubuntu:/usr/local/src# tar zxvf redis-2.8.19.tar.gz


3. 编译:
root@ubuntu:/usr/local/src# cd redis-2.8.19
root@ubuntu:/usr/local/src/redis-2.8.19# mkdir /usr/local/redis
root@ubuntu:/usr/local/src/redis-2.8.19# make prefix=/usr/local/redis install (安装到指定目录)
root@ubuntu:/usr/local/src/redis-2.8.19# make test
上述make test执行时,若报You need tcl 8.5 or newer in order to run the Redis test,则需先安装tcl。
root@ubuntu:/usr/local/src/redis-2.8.19# cd /usr/local/src
root@ubuntu:/usr/local/src# wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz
root@ubuntu:/usr/local/src# tar zxvf tcl8.6.1-src.tar.gz
root@ubuntu:/usr/local/src# cd tcl8.6.1/unix
root@ubuntu:/usr/local/src/tcl8.6.1/unix# ./configure
root@ubuntu:/usr/local/src/tcl8.6.1/unix# make
root@ubuntu:/usr/local/src/tcl8.6.1/unix# make install
root@ubuntu:/usr/local/src/tcl8.6.1/unix# cd ../../redis-2.8.19
root@ubuntu:/usr/local/src/redis-2.8.19# make test


4. 安装redis成功后,会在/usr/local/redis目录下生成bin目录,确认bin目录中包含如下文件:
root@ubuntu:/usr/local/src/redis-2.8.19# cd ../../redis
root@ubuntu:/usr/local/redis# ls
bin
root@ubuntu:/usr/local/redis# cd bin
root@ubuntu:/usr/local/redis/bin# ll
total 15012
drwxr-xr-x 2 root root    4096 Feb  7 15:07 ./
drwxr-xr-x 3 root root    4096 Feb  7 14:53 ../
-rwxr-xr-x 1 root root 4427181 Feb  7 15:07 redis-benchmark*
-rwxr-xr-x 1 root root   26989 Feb  7 15:07 redis-check-aof*
-rwxr-xr-x 1 root root   57173 Feb  7 15:07 redis-check-dump*
-rwxr-xr-x 1 root root 4544409 Feb  7 15:07 redis-cli*
lrwxrwxrwx 1 root root      33 Feb  7 15:07 redis-sentinel -> /usr/local/redis/bin/redis-server*
-rwxr-xr-x 1 root root 6261141 Feb  7 15:07 redis-server*


1.3 制作启动脚本
root@ubuntu:/usr/local/redis/bin# cp /usr/local/src/redis-2.8.19/utils/redis_init_script /etc/init.d/redis
root@ubuntu:/usr/local/redis/bin# vi /etc/init.d/redis
内容修改如下(红色为修改部分):
#!/bin/sh
# chkconfig 2345 80 90 
# 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/${REDISPORT}.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
保存退出。
以上修改含义如下:
1. 引用#chkconfig: 2345 80 90,解决无法注册服务的问题
2. 修改EXEC与CLIEXEC参数,设置与安装路径对应的值
3. 更改redis开启的命令,以后台方式执行($EXEC $CONF &), “&”表示后台运行。
将redis配置文件拷贝到/etc/redis/${REDISPORT}.conf,
root@ubuntu:/usr/local/redis/bin# mkdir /etc/redis
root@ubuntu:/usr/local/redis/bin# cp /usr/local/src/redis-2.8.19/redis.conf /etc/redis/6379.conf
设置6379.conf: 
root@ubuntu:/usr/local/redis/bin# vi /etc/redis/6379.conf
daemonize yes (以守护进程运行)
pidfile /var/run/redis_6379.pid (运行后pid名称)
requirepass 123456 (设置密码为‘123456’)
其他默认,保存退出。


1.4 启动停止Redis服务
1. 启动redis
root@ubuntu:/usr/local/redis/bin# service redis start
修改profile文件,将redis命令所在目录添加到系统PATH中
root@ubuntu:/usr/local/redis/bin# vi /etc/profile
在最后面加上下面一行:
export PATH="$PATH:/usr/local/redis/bin"
保存退出,并执行下面命令是配置立刻生效
root@ubuntu:/usr/local/redis/bin# . /etc/profile
root@ubuntu:/usr/local/redis/bin# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/redis/bin
下面就可以直接执行redis-cli了
root@ubuntu:/usr/local/redis/bin# redis-cli
127.0.0.1:6379> auth 123456
OK
127.0.0.1:6379> ping
PONG
127.0.0.1:6379>exit
root@ubuntu:/usr/local/redis/bin#
2. 停止redis
root@ubuntu:/usr/local/redis/bin# service redis stop
这里发现个问题,使用service redis stop 不能停止服务,报如下错误:
root@ubuntu:~# service redis stop
Stopping ...
(error) NOAUTH Authentication required.
Waiting for Redis to shutdown ...
Waiting for Redis to shutdown ...
Waiting for Redis to shutdown ...
看报错内容是因为在/etc/redis/6379.conf中使用requirepass 123456设置了密码设置了密码,停止服务的时候需要密码验证,那么我们按如下去修改下启动脚本:
加一行密码的定义,当然密码需要和/etc/redis/6379.conf配置文件中定义的密码一样,如下:
PASSWORD=123456 (位置随便,比如加在CLIEXEC定义的下面一行就行了)
然后将停止服务的命令$CLIEXEC -p $REDISPORT shutdown改为:
$CLIEXEC -p $REDISPORT -a $PASSWORD shutdown
好了,现在再次使用service redis stop就可以正常停止服务了。


1.5 redis命令配置相关资料
redis命令参考:
http://redis.readthedocs.org/en/latest/
http://www.cnblogs.com/oubo/archive/2011/09/07/2394568.html等等。
redis配置redis.conf说明参考:
http://www.cnblogs.com/linjiqin/archive/2013/05/27/3102040.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值