Linux 下安装redis
Posted oldmonk
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux 下安装redis相关的知识,希望对你有一定的参考价值。
记录一下linux下的安装步骤,还是比较复杂的
1. 下载redis-2.8.19.tar.gz:
ftp传到linux01上;
解压:
tar –zxvf redis-2.8.19.tar.gz
2. 安装相关软件
命令: yum install wget make gcc gcc-c++
3.安装后在redis-2.8.19目录src下make,应该会出现以下错误
原因分析
在README 有这个一段话。
Allocator
---------
Selecting a non-default memory allocator when building Redis is done by setting
the `MALLOC` environment variable. Redis is compiled and linked against libc
malloc by default, with the exception of jemalloc being the default on Linux
systems. This default was picked because jemalloc has proven to have fewer
fragmentation problems than libc malloc.
To force compiling against libc malloc, use:
% make MALLOC=libc
To compile against jemalloc on Mac OS X systems, use:
% make MALLOC=jemalloc
说关于分配器allocator, 如果有MALLOC 这个 环境变量, 会有用这个环境变量的 去建立Redis。而且libc 并不是默认的 分配器, 默认的是 jemalloc, 因为 jemalloc 被证明 有更少的 fragmentation problems 比libc。
但是如果你又没有jemalloc 而只有 libc 当然 make 出错。 所以加这么一个参数。
解决办法
make MALLOC=libc
继续在src,make
可能报错:
继续解决:
1、jemalloc下可能要先运行./configure,然后make (我没有运行这一步,可能有的需要这一步,视情况而定)
2、分别进入redis下的deps下的hiredis、lua 运行make
3、回到src目录运行 make make test
可能会出现以下错误:
解决办法:
安装tcl命令: yum -y install tcl
4. 继续进入redis目录src下make 和make test
5. 使用Redis命令行:
redis/src目录下: make install 和 make test
, 进入 /usr/local/bin/目录下查看 ls,出现下图,就安装成功了!
6,配置启动服务
1)、编辑redis.conf文件
命令: vi redis.conf
2)、修改daemonize no改成yes。
3)、我们手动复制redis.conf到/etc目录下
命令: cp redis.conf /etc
4). 进入/etc/init.d目录下 创建redisd文件,贴入以下内容
vim redisd
########################### #chkconfig: 2345 10 90 #description: Start and Stop redis PATH=/usr/local/bin:/sbin:/usr/bin:/bin REDISPORT=6379 EXEC=/usr/local/bin/redis-server REDIS_CLI=/usr/local/bin/redis-cli PIDFILE=/var/run/redis.pid CONF="/etc/redis.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 if [ "$?"="0" ] then echo "Redis is running..." fi ;; stop) if [ ! -f $PIDFILE ] then echo "$PIDFILE does not exist, process is not running" else PID=$(cat $PIDFILE) echo "Stopping ..." $REDIS_CLI -p $REDISPORT SHUTDOWN while [ -x ${PIDFILE} ] do echo "Waiting for Redis to shutdown ..." sleep 1 done echo "Redis stopped" fi ;; restart|force-reload) ${0} stop ${0} start ;; *) echo "Usage: /etc/init.d/redis {start|stop|restart|force-reload}" >&2 exit 1 esac ##############################
修改权限,可以运行
命令: chmod +x /etc/init.d/redis // u可以省略
设置开机自动启动服务
命令: chkconfig redisd on //开自启动
service redis start //启动
service redis stop //关闭服务
到此配置linux下的redis算是基本完成了,外网连接需要关闭防火墙
测试redis
service redis start • 测试命令: • redis-benchmark -n 10000 -c 60 • 向redis服务器发送100000个请求,每个请求附带60个并发客户端
客户端连接
在redis解压目录的src目录下 ./redis –cli –p 6379 | ./redis-cli (进入默认的redis客户端)
ok,完成!
以上是关于Linux 下安装redis的主要内容,如果未能解决你的问题,请参考以下文章