`

redis安装

 
阅读更多

1、下载地址

https://redis.io/download

2、安装

(1)、复制下载的文件到linux系统中:

[root@zxf src]# tar xzf redis-4.0.10.tar.gz
[root@zxf src]# cd redis-4.0.10
[root@zxf redis-4.0.10]# make

操作提示:若出现如下提示,则说明未安装gcc,使用命令安装gcc:

[root@zxf redis-4.0.10]# yum install gcc

编译完成之后,在src目录下有2个重要程序生成,一个是redis-server,另一个是redis-cli;

接着进入src目录,执行 :

[root@zxf redis-4.0.10]# cd src
[root@zxf src]# make install

这时会把这些可执行程序拷贝到/usr/local/bin目录(和安装目录同目录)下,由于/usr/local/bin是在系统的环境变量$PATH下定义的,因此终端在任意位置就可以执行redis-server和redis-cli了。

至此安装redis的工作就完成了。

我们来看看编译出来的几个程序分别是干什么的:

redis-server:顾名思义,redis服务

redis-cli:redis client,提供一个redis客户端,以供连接到redis服务,进行增删改查等操作

redis-sentinel:redis实例的监控管理、通知和实例失效备援服务

redis-benchmark:redis的性能测试工具

redis-check-aof:若以AOF方式的持久化,当意外发生时用来快速修复

redis-check-rdb:若以RDB方式的持久化,当意外发生时用来快速修复

(2)、启动服务:

[root@zxf redis-4.0.10]# src/redis-server

​ 停止Redis服务:

[root@zxf redis-4.0.10]# src/redis-cli shutdown

启动后:

(3)、新打开一个窗口测试:

[root@zxf redis-4.0.10]# src/redis-cli
127.0.0.1:6379> set foot bat
OK
127.0.0.1:6379> get foot
"bat"
127.0.0.1:6379> 

(4)、设置Redis访问密码

​ redis在真实环境中不可以谁想访问就访问,所以,必须要设置密码,修改redis.conf文件配置

\ # requirepass foobared去掉注释,foobared改为自己的密码,我在这里改为redis

设置完密码后:启动的时候要加载配置文件:src/redis-server redis.conf

测试:

[root@zxf redis-4.0.10]# src/redis-cli -a redis
Warning: Using a password with '-a' option on the command line interface may not be safe.
127.0.0.1:6379> set name zhouxufeng
OK
127.0.0.1:6379> get name
"zhouxufeng"
127.0.0.1:6379> 

-a redis 为设置的密码

3、设置为开机自动启动

(1)、找到/usr/local/bin/redis-4.0.10/redis.conf目录下的这个文件,修改以下两个配置:

此文件内容非常长,但是大部分是注释,我们重点关注其中的几个设置daemonizepidfile

其中daemonize默认值是no,pidfile默认值是pidfile /var/run/redis_6379.pid

第一个表示是否daemon化,显然我们要把它改成daemonize yes;

第二个表示当服务以守护进程方式运行时,redis默认会把pid写入/var/run/redis_6379.pid文件,服务运行中该文件就存在,服务一旦停止该文件就自动删除,因而可以用来判断redis是否正在运行

(2)、有了基本配置,redis还需要有一个管理启动、关闭、重启的一个脚本。redis源码里其实已经提供了一个初始化脚本,位置在/usr/redis/utils/redis_init_script

#!/bin/sh
#
# Simple Redis init.d script conceived to work on Linux systems
# as it does use of the /proc filesystem.

### BEGIN INIT INFO
# Provides:     redis_6379
# Default-Start:        2 3 4 5
# Default-Stop:         0 1 6
# Short-Description:    Redis data structure server
# Description:          Redis data structure server. See https://redis.io
### END INIT INFO

REDISPORT=6379
EXEC=/usr/local/bin/redis-server
CLIEXEC=/usr/local/bin/redis-cli

PIDFILE=/var/run/redis_${REDISPORT}.pid
CONF="/etc/redis/${REDISPORT}.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
        ;;
    stop)
        if [ ! -f $PIDFILE ]
        then
                echo "$PIDFILE does not exist, process is not running"
        else
                PID=$(cat $PIDFILE)
                echo "Stopping ..."
                $CLIEXEC -p $REDISPORT shutdown
                while [ -x /proc/${PID} ]
                do
                    echo "Waiting for Redis to shutdown ..."
                    sleep 1
                done
                echo "Redis stopped"
        fi
        ;;
    *)
        echo "Please use start or stop as first argument"
        ;;
esac

脚本中指定了端口、server路径、cli路径、pidfile路径以及conf路径,上述标黄的地方都需要正确配置,多说一句,如果在安装时执行了make install,那么这里的脚本不需要做多大改动,因为make install把server和cli都拷到/usr/local/bin下面了。

(3)、另外看到这里conf的路径,我们需要把redis目录下的redis.conf文件拷贝到/etc/redis/6379.conf

[root@zxf redis-4.0.10]# cd /etc
[root@zxf etc]# mkdir redis
[root@zxf etc]# cp /usr/local/bin/redis-4.0.10/redis.conf /etc/redis/6379.conf

接着将redis_init_script脚本拷贝到/etc/init.d/redisd

[root@zxf src]# cp /usr/local/bin/redis-4.0.10/utils/redis_init_script /etc/init.d/redisd

在/etc/init.d下的脚本都是可以在系统启动是自动启动的服务,而现在还缺一个系统启动时的配置:

[root@zxf src]# chkconfig redisd on

然后就会发现报了一个错误:服务 redisd 不支持 chkconfig ?

参考这篇文章, 这是因为我们需要在redis_init_script的开头加一个小改动:

#!/bin/sh
# chkconfig: 2345 90 10 
# description: Redis is a persistent key-value database

保存完重新拷贝到/etc/init.d/redisd后,再运行chkconfig就完成了。

(4)、测试

[root@zxf src]# service redisd start
[root@zxf src]# service redisd stop

重启系统测试

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics