安装Unix的Tcl工具, 测试redis时需要用到
yum install tcl
去redis官网 http://redis.io/download/下载源码, 目前最新版本是3.0.3
cd /usr/local/src
wget http://download.redis.io/releases/redis-3.0.3.tar.gz
tar -zxf redis-3.0.3.tar.gz
cd redis-3.0.3
make
make test
make PREFIX=/usr/local/redis install
其中PREFIX=/usr/local/redis可以省略,省略情况下redis会默认安装到/usr/local/bin目录下。测试通过后安装,安装后会自动把redis-server,redis-cli,redis-benchmark,redis-check-aof,redis-check-dump复制到/usr/local/redis/bin目录下。
2.修改配置文件redis.conf
cp ./redis.conf /usr/local/redis/
vim /usr/local/redis/redis.conf
目前我只修改两项
daemonize yes #redis将以守护进程的方式运行,默认为no会暂用你的终端
timeout 300 #当 客户端闲置多长时间后关闭连接,如果指定为0,表示关闭该功能
3.新建init启动文件
vim /etc/init.d/redis
内容如下
#!/bin/sh
#
# redis Startup script for Redis Server
#
# chkconfig: - 80 12
# description: Redis is an open source, advanced key-value store.
#
# processname: redis-server
# config: /etc/redis.conf
# pidfile: /var/run/redis.pid
source /etc/init.d/functions
BIN="/usr/local/redis/bin"
CONFIG="/usr/local/redis/redis.conf"
PIDFILE="/var/run/redis.pid"
### Read configuration
[ -r "$SYSCONFIG" ] && source "$SYSCONFIG"
RETVAL=0
prog="redis-server"
desc="Redis Server"
start() {
if [ -e $PIDFILE ];then
echo "$desc already running...."
exit 1
fi
echo -n $"Starting $desc: "
daemon $BIN/$prog $CONFIG
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog
return $RETVAL
}
stop() {
echo -n $"Stop $desc: "
killproc $prog
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$prog $PIDFILE
return $RETVAL
}
restart() {
stop
start
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
condrestart)
[ -e /var/lock/subsys/$prog ] && restart
RETVAL=$?
;;
status)
status $prog
RETVAL=$?
;;
*)
echo $"Usage: $0 {start|stop|restart|condrestart|status}"
RETVAL=1
esac
exit $RETVAL
修改权限
chmod +x /etc/init.d/redis
修改环境变量,为了便于redis-cli等的执行
在/etc/profile文件中添加redis相关命令的执行路径/usr/local/redis/bin:
export PATH=/usr/local/redis/bin:$PATH
source /etc/profile
4.设定开机启动服务
sudo chkconfig redis on
并坚持是否生效
chkconfig --list redis
5.启动或关闭服务
启动:
service redis start 或者 /etc/init.d/redis start
停止:
service redis stop 或者 /etc/init.d/redis stop
验证如下:
ps axuf | grep redis
6.测试redis
redis-cli
redis 127.0.0.1:6379> set foo bar
OK
redis 127.0.0.1:6379> get foo
"bar"
redis 127.0.0.1:6379> exit
7.redis安装过程中可能遇到的问题
问题一:
make[2]: cc: Command not found
异常原因:没有安装gcc
解决方案:yum install gcc-c++
问题二:
zmalloc.h:51:31: error: jemalloc/jemalloc.h: No such file or directory
异常原因:一些编译依赖或原来编译遗留出现的问题
解决方案:make distclean。清理一下,然后再make。
异常三:
在make成功以后,需要make test。在make test出现异常。
couldn't execute "tclsh8.5": no such file or directory
异常原因:没有安装tcl
解决方案:yum install -y tcl
8.安装附带的依赖库
下面以hiredis库为例,它是redis的客户端C库,安装如下:
cd deps/hiredis
make
make install
vim /etc/ld.so.conf
添加默认安装的库目录/usr/local/lib
刷新动态库路径
ldconfig
使用下面的命令确认
ldconfig -p | grep hiredis.so
[1].http://www.jb51.net/article/62507.htm
[2].http://www.360doc.com/content/12/0419/16/597197_204935330.shtml
[3].http://www.cnblogs.com/xsi640/p/3756130.html
[4].http://www.cnblogs.com/haoxinyue/p/3620648.html