Linux中CentOS7安装Redis6.0.8及自动启动配置

0、安装前

问题

如果要redis-6.x以上版本,需要查看系统gcc版本是否大于4.8.5,否则会出现如下gcc版本问题
在这里插入图片描述

原因

  • 编译 redis-6.x,要求 C11 编译器,否则会遇到大量如下所示的错误:
  • 主要原因是从 redis-6.x 开始的多线程代码依赖C标准库中的新增类型 _Atomic 。但是注意 gcc 从 4.9 版本才开始正式和完整地支持 stdatomic(gcc-4.8.5 部分支持)。centos7默认的 gcc 版本为:4.8.5 < 5.3 无法编译。

解决方案

安装并查看当前gcc版本为7,即可进入下面安装redis 6.x版本,具体安装方法在文末。
如安装redis6以下版本可忽略此步骤,直接安装。

gcc -v
scl -l
scl enable devtoolset-8 bash

在这里插入图片描述
切换版本8
在这里插入图片描述

一、安装Redis

方法一:官网下载
方法二:源码安装

1、进入/usr/local/src目录,执行wget下载源码

cd /usr/local/src/
wget http://download.redis.io/releases/redis-6.0.8.tar.gz

注:

  • Redis 版本的命名规则:版本号第二位如果是奇数,则为非稳定版本(例如2.7、2.9、3.1等),如果是偶数,则为稳定版本(例如2.6、2.8、3.0、3.2等)。
  • 此处安装redis6,支持多线程 IO Redis重要版本一览

2、解压压缩包,并移动位置(也可以不移动)

tar -zxvf redis-6.0.8.tar.gz
mv redis-6.0.8 /usr/local/redis

3、进入/usr/local/redis目录,执行make命令,编译redis源码

cd /usr/local/redis/
make

出现下面的提示可以不用管
在这里插入图片描述

4、编译完成

将/usr/local/redis/src目录下的文件加到/usr/local/bin目录

  • 在src目录下有2个重要程序生成,一个是redis-server,另一个是redis-cli;
  • 接着进入src目录,执行make install,这时会把这些可执行程序拷贝到/usr/local/bin目录下,由于/usr/local/bin是在系统的环境变量$PATH下定义的,因此终端在任意位置就可以执行redis-server和redis-cli了。
cd src/
make install

5、安装完成

在这里插入图片描述

6、启动redis(在任意目录下)

先启动redis-server,再在另一个窗口下执行redis-cli

redis-server
redis-cli

在这里插入图片描述在这里插入图片描述

7、关闭redis

ctrl+c

二、配置Redis系统开机自动启动

1、修改基本配置文件

reids默认不是后台方式启动,需要将daemonize no修改为daemonize yes

# 进入redis安装目录下
cd /usr/local/redis
vim redis.conf 

在这里插入图片描述
在这里插入图片描述

2、拷贝redis初始化脚本

有了基本配置,redis还需要有一个管理启动、关闭、重启的一个脚本。redis源码里其实已经提供了一个初始化脚本,位置在/usr/local/redis/utils/redis_init_script文件中。可以cat /usr/local/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

#redis服务器监听的端口
REDISPORT=6379
#服务端所处位置
EXEC=/usr/local/bin/redis-server
#客户端位置
CLIEXEC=/usr/local/bin/redis-cli
#redis的PID文件位置
PIDFILE=/var/run/redis_${REDISPORT}.pid
#redis的conf配置文件位置
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下面了。

cd /etc
mkdir redis
# 将redis目录下的redis.conf文件拷贝到/etc/redis/6379.conf目录下
cp /usr/local/redis/redis.conf /etc/redis/6379.conf
# 将redis_init_script启动脚本复制到/etc/init.d目录下,命名为redisd(通常都以d结尾表示是后台自启动服务)
cp /usr/local/redis/utils/redis_init_script /etc/init.d/redisd

3、设置redis初始化脚本为开机启动

在**/etc/init.d**下的脚本都是可以在系统启动是自动启动的服务:

chkconfig redisd on

###########################【额外说明】########################################
也有文章谈到指定redis.conf文件为启动文件,目前不确定是否指定为开机自动启动服务

# 进入redis安装目录下的src文件夹,指定redis.conf文件为启动文件
./redis-server /usr/local/redis/redis.conf
# 使用redis客户端指定端口连接
redis-cli -p 6379
# 不指定端口
redis-cli

在这里插入图片描述
###################################################################

4、查看redis进程是否开启

ps -ef|grep redis

在这里插入图片描述

5、redis启动/关闭服务

service redisd start
service redisd stop
// 或者
/etc/init.d/redisd start
/etc/init.d/redisd stop

三、卸载Redis

1、查看并关闭redis进程

ps -ef|grep redis
kill - 9 25588
...

在这里插入图片描述

2、删除make生成的redis前缀文件

ll /usr/local/bin
rm -f /usr/local/bin/redis*
ll /usr/local/bin 

在这里插入图片描述

3、删除redis的源文件

找到redis安装目录,在该目录下卸载,或者根据路径卸载,此处安装位置在/usr/local/redis,删除redis文件。

rm -rf redis

在这里插入图片描述
卸载完成!

参考:
https://www.baiyongj.com/news/482.html
linux环境gcc多版本共存和版本切换

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值