您的位置:首页 > 数据库 > Redis

Linux 下安装redis

2017-06-25 15:42 288 查看
记录一下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,完成!

  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: