1.1 说明

  Redis官方只提供了源码,并没有提供经过编译之后的安装包。

  因此,安装Redis,要先编译、后安装。(即源码安装方式)

1.2 redis安装步骤

  1)、下载,上传到Linux服务器,并解压

  2)、预编译(实际上是检查编译环境的过程)

    进入目录: cd /opt/soft/redis-3.2.9/deps/jemalloc

    执行预编译  ./configure

    在预编译的过程中,会检测安装redis所需的相关依赖,依次安装即可。

      (a)缺少c编译环境  yum -y install gcc-c++

    预编译不是必须的步骤,它只是在检查编译过程中需要的环境是否满足。

    通常源码包中,都有一个可执行的configure脚本,这个脚本执行预编译的脚本。但是有一些源码包中,没有该文件,可以省略预编译步骤。

  3)、编译  进入/opt/soft/redis-3.2.9/src

     make

  4)、安装  进入/opt/soft/redis-3.2.9/src

    make install

  5)、启动redis服务端(指定配置文件)  

    拷贝redis.conf文件到/etc 目录下,方便管理。

    第一步拷贝:cp /opt/soft/redis-3.2.9/redis.conf /etc/

    第二步启动:/usr/local/bin/redis-server   /etc/redis.conf

    (第二个参数是redis的配置文件,该句即redis-server用redis.conf来启动)

redis 编译 依赖包 redis编译安装_redis


6)、启动redis客户端,登陆   /usr/local/bin/redis-cli,Ctrl+c或exit结束

redis 编译 依赖包 redis编译安装_redis_02


 7)、安装成功

1.3 redis.conf常用配置说明

1.3.1 requirepass foobar

给redis设置密码,该图片是示例,如果将前面的注释-#去掉,即密码为foobar。

redis 编译 依赖包 redis编译安装_redis_03


在客户端使用auth命令,验证密码。

redis 编译 依赖包 redis编译安装_redis_04


1.3.2 databases 16

Redis默认有16个数据库,寻址角标从0开始。

  默认连接db0

redis 编译 依赖包 redis编译安装_redis_05


客户端使用select命令,切换数据库

redis 编译 依赖包 redis编译安装_Redis_06


1.3.3 port 6379

指定redis的服务端口,默认6379.

redis 编译 依赖包 redis编译安装_redis_07


1.3.4 daemonize no

Redis默认关闭后台进程模式,改成yes,redis服务在后台启动。

redis 编译 依赖包 redis编译安装_redis_08


1.3.5 loglevel notice(了解)

redis 编译 依赖包 redis编译安装_redis_09


1.3.6 logfile “”

Redis日志输出目录,默认不输出日志到文件。

redis 编译 依赖包 redis编译安装_redis_10


1.3.7 dbfilename dump.rdb、dir ./

指定数据持久化的文件名及目录。

redis 编译 依赖包 redis编译安装_Redis_11


1.4 将redis添加为系统服务

1.4.1 第一步:开启后台模式

修改配置文件,将daemonize改为yes

1.4.2 第二步:创建shell脚本

说明:Linux系统服务,在/etc/init.d目录下创建redis脚本

###########################
#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
##判断redis是否启动了
PIDFILE=/var/run/redis_6379.pid
CONF="/etc/redis.conf"
PASSWORD=$(cat $CONF|grep '^\s*requirepass'|awk '{print $2}'|sed 's/"//g')
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 ..."
if [ -z $PASSWORD ]
then
   $REDIS_CLI -p $REDISPORT shutdown
else
$REDIS_CLI -a $PASSWORD -p $REDISPORT shutdown
fi
#$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
##############################

1.4.3 第三步:添加shell脚本可执行权限

[root@node0927 ~]chmod +x /etc/init.d/redis

1.4.4 第四步:添加Redis开机启动

[root@node0927 ~]chkconfig redis on