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的主要内容,如果未能解决你的问题,请参考以下文章

Linux下Redis 的安装

Linux下Redis服务器搭建

Linux 下安装 Redis

[Linux]Linux下redis的安装及配置.

Linux 下安装 redis

linux 下centos 安装redis