Linux部署Redis


一、部署流程

这里我将端口改为6378且设置里面后面的操作都基于这个情况

1. 下载redis

下载地址
或者
所有历史版本下载地址
或者

wget http://download.redis.io/releases/redis-5.0.7.tar.gz

2. 解压redis

注意:如果是新机器,需要先安装gcc
安装gcc: yum -y install gcc
验证gcc是否安装成功:rpm -qa|grep gcc

解压命令

tar -zvxf redis-5.0.7.tar.gz

3. 移动redis目录

mv /root/redis-5.0.7 /usr/local/redis

4. 编译

make

在这里插入图片描述

make PREFIX=/usr/local/redis install

5. 修改conf配置

生成log日志存放位置

mkdir log

修改配置

vi /etc/redis.conf 
#查找daemonize no改为 yes以守护进程方式运行 即以后台运行方式去启动
daemonize yes 
#修改dir ./为绝对路径, 默认的话redis-server启动时会在当前目录生成或读取dump.rdb 
#所以如果在根目录下执行redis-server /etc/redis.conf的话, 
#读取的是根目录下的dump.rdb,为了使redis-server可在任意目录下执行,所以此处将dir改为绝对路径 
dir /usr/local/redis/bin
#修改appendonly为yes 
#指定是否在每次更新操作后进行日志记录, Redis在默认情况下是异步的把数据写入磁盘, 
#如果不开启,可能会在断电时导致一段时间内的数据丢失。 
#因为redis本身同步数据文件是按上面save条件来同步的, 
#所以有的数据会在一段时间内只存在于内存中。默认为no 
appendonly yes 
#redis 日志生成位置logfile "/usr/local/redis/log/redis.log"

关键参数:

  • daemonizeyes表示启用守护进程,默认是no即不以守护进程方式运行。其中Windows系统下不支持启用守护进程方式运行
  • bind 绑定的主机地址,如果需要设置远程访问则直接将这个属性备注下或者改为bind * 即可,这个属性和下面的protected-mode控制了是否可以远程访问 。(可以注释掉)
  • dir指定本地数据库存放目录
  • requirepass设置 Redis 连接密码,如果配置了连接密码,客户端在连接 Redis 时需要通过 AUTH 命令提供密码,默认关闭

6. 启动

cd /usr/local/redis/bin
./redis-server ../redis.conf 
./redis-cli 

二、开机自启

1. 使用redis启动脚本设置开机自启动

为了让redis-server能在系统启动时自动运行,需要将redis服务作为守护进程(daemon)来运行,我们回到/usr/redis/目录中找到redis.conf的文件,这个文件是redis服务运行时加载的配置.
redis.conf文件内容非常长,但是大部分是注释,我们重点关注其中的几个设置daemonizepidfile
其中daemonize默认值是false,pidfile默认值是pidfile /var/run/redis_6379.pid
第一个表示是否daemon化,显然我们要把它改成daemonize yes;
第二个表示当服务以守护进程方式运行时,redis默认会把pid写入/var/run/redis_6379.pid文件,服务运行中该文件就存在,服务一旦停止该文件就自动删除,因而可以用来判断redis是否正在运行。
保存后退出。

2. 脚本

注意这里停止方法里面要写你设置的密码
下文中这段修改-a后面的密码
$CLIEXEC -a 设置的密码 -p $REDISPORT shutdown

#!/bin/sh
# 说明启动优先级
# chkconfig:   2345 90 10
#
# Simple Redis init.d script conceived to work on Linux systems
# as it does use of the /proc filesystem.

### BEGIN INIT INFO
# Provides:     redis_6378
# 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=6378
REDIS=redis
#服务启动脚本位置
EXEC=/usr/local/redis/bin/redis-server
#客户端连接脚本位置
CLIEXEC=/usr/local/redis/bin/redis-cli
#启动PID所在位置
PIDFILE=/var/run/redis_${REDISPORT}.pid
#启动配置文件所在位置
CONF="/usr/local/redis/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
        ;;
    stop)
        if [ ! -f $PIDFILE ]
        then
                echo "$PIDFILE does not exist, process is not running"
        else
                PID=$(cat $PIDFILE)
                echo "Stopping ..."
                $CLIEXEC -a 设置的密码 -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

3. 配置自启规则到服务器

chkconfig redis on

一切就绪之后,可以执行以下命令检验service是否设置成功:

service redis start 
service redis stop
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

和烨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值