Redis单机安装最佳实践

redis是一个nosql数据库,由于高性能的存储能力常用来做分布式缓存中间件。

以下是linux centos7下安装了redis5.x单机版来作为参考,全部使用root用户安装,如果不使用root可以在相应需要权限的地方加上sudo命令。

首先安装gcc

[root /]# yum -y install gcc-c++

再下载并解压redis

打开redis官网下载redis。可以先复制redis包的链接(文中使用的是redis5.0.8版本),然后在linux服务器上直接下载

redis下载
//先切换到/tmp目录再下载
[root /]# cd /tmp
[root /tmp]# wget http://download.redis.io/releases/redis-5.0.8.tar.gz
//解压redis包
[root /tmp]# tar -zxvf redis-5.0.8.tar.gz
[root /tmp]# ls
redis-5.0.8  redis-5.0.8.tar.gz

编译安装redis

下载解压后就可以编译了

[root /tmp]# cd redis-5.0.8
// 编译安装redis
[root /tmp/redis-5.0.8]# make && make install

如果没有出现error就说明安装成功了,默认安装在/usr/local/bin目录

//查看redis是否安装完成
[root /]# cd /usr/local/bin
[root /usr/local/bin]# ls
redis-benchmark  redis-check-aof  redis-check-rdb  redis-cli  redis-sentinel  redis-server

修改redis默认配置

这个时候就已经安装好了,但我们还需要稍做一些简单的配置让redis使用起来更方便

//新建一个redis目录
[root /]# mkdir /usr/local/redis
//复制reids默认配置文件到redis目录
[root /]# cp /tmp/redis-5.0.8/redis.conf /usr/local/redis/
[root /]# cd /usr/local/redis/
//创建redis工作目录
[root /]# mkdir working
//把默认的redis配置文件明改成redis端口号来方便管理,默认是6379
[root /usr/local/redis/]# mv redis.conf 6379.conf

redis配置文件弄好后再修改一下redis.conf的配置,有四个基本的东西需要修改

  1. 把redis修改成后台运行,不然ssh一断redis就关闭了
  2. 修改ip访问限制,redis默认是只能本机修改
  3. 添加访问密码,因为放开了ip访问限制如果不加密码的话就很容易被黑掉
  4. 修改redis默认工作目录用户备份和恢复数据
//修改redis配置文件
[root /usr/local/redis/]# vi 6379.conf

可以搜索daemonizebindrequirepassdir四个关键字来找到三个默认配置

# redis默认运行方式:非后台运行
daemonize no
# redis默认绑定ip
bind 127.0.0.1
# redis默认工作目录,可以用来备份和恢复数据
dir ./
# redis默认没有设置密码
# requirepass foobared

把这个四个地方更改成

# 更改redis运行方式:后台运行
daemonize yes
# 更改redis访问ip为不限制
bind 0.0.0.0
# 设置redis工作目录
dir /usr/local/redis/working
# 设置redis密码
requirepass red123456

这样一个单机的redis就配置好了。但redis启动起来并不是很方便,需要加很长一段配置文件路径

redis-server /user/local/redis/6379.conf 

把redis做成linux服务

进入redis安装目录找到redis_init_script脚本

//首先进入redis安装包目录
[root /]# cd /tmp/redis-5.0.8/utils
//可以找到一个redis_init_script
[root /tmp/redis-5.0.8/utils/]# ls
... redis_init_script ...
//复制脚本到/etc/init.d/目录
[root /tmp/redis-5.0.8/utils/]# cp redis_init_script /etc/init.d/redisd

这样我们就有了一个redisd的服务,但是需要简单的改一下

//修改脚本
[root /etc/init.d/]# vi /etc/init.d/redisd

下面是默认的,我们需要把redis配置文件路径改对并增加访问密码

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 -a $PASSWORD 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

改成

# 修改配置文件目录位置
CONF="/usr/local/redis/${REDISPORT}.conf"
# 增加redis访问密码
PASSWORD=red123456

这样就好了,我们启动试一下

[root /]# service redisd start
Starting Redis server...
7136:C 09 Apr 2020 12:26:46.265 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
7136:C 09 Apr 2020 12:26:46.265 # Redis version=5.0.8, bits=64, commit=00000000, modified=0, pid=7136, just started
7136:C 09 Apr 2020 12:26:46.265 # Configuration loaded

启动成功,再使用redis客户端连接一下

[root /]# redis-cli -a red123456
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
127.0.0.1:6379> set k1 v1
OK
127.0.0.1:6379> get k1
"v1"

你可能感兴趣的:(Redis单机安装最佳实践)