CENTOS7.9源码编译安装REDIS7.0图文教程


前言

原来生产环境里是有redis服务的,但redis版本比较低是 redis_version:3.2.12,这段时间我们用上Asynq,Asynq是基于redis服务开发的,并且要求redis版本大于4.0,所以就找了一另一台服务器来源码编译安装Redis,顺便把安装过程写下来供大家参考


一、官网下载redis的安装包

redis的官网地址是:https://redis.io,最新稳定版的下载地址是: https://download.redis.io/redis-stable.tar.gz,下载的过程如下:
在这里插入图片描述

cd /usr/local/src
wget -c https://download.redis.io/redis-stable.tar.gz
tar zxvf ./redis-stable.tar.gz
cd /usr/local/src/redis-stable

yum remove redis

二、安装redis

1.停止原来的redis服务,并且卸载旧版本,安装新版本

yum update -y
systemctl stop redis # 先停止原来的redis服务
rpm -qa |grep redis  #查看已安装的redis
yum -y remove redis #yum卸载旧版redis
groupadd redis #创建用户组redis 
useradd redis -g redis -s /sbin/nologin  #将用户redis添加到组redis
cd /usr/local/src/redis-stable  #进入安装目录
make
make install PREFIX=/usr/local/Kaiyuan/redis
cp /usr/local/src/redis-stable/redis.conf /usr/local/Kaiyuan/redis #将配置文件放到安装目录
#创建快捷方式系统目录
ln -s /usr/local/Kaiyuan/redis/bin/redis-server /usr/bin/
ln -s /usr/local/Kaiyuan/redis/bin/redis-cli /usr/bin/

2.修改配置文件

#编辑此文件
vim /usr/local/Kaiyuan/redis/redis.conf
#按esc退出后,输入如下命令保存并退出
:wq

修改的内容:

bind 127.0.0.1 172.16.0.38  #监听ip,多个ip用空格分隔
daemonize yes #允许后台启动
logfile /data/logs/redis/redis.log  #日志路径
supervised auto
protected-mode no
dir /usr/local/Kaiyuan/redis/db

给目志目录权限给到redis

chown -R redis.redis /data/logs/redis
chown -R redis.redis /usr/local/Kaiyuan/redis/db

3.增加启动脚本

vim /usr/lib/systemd/system/redis.service
[Unit]
Description=Redis persistent key-value database
After=network.target
After=network-online.target
Wants=network-online.target

[Service]
ExecStart=/usr/local/Kaiyuan/bin/redis-server /usr/local/Kaiyuan/redis/redis.conf --supervised systemd
ExecStop=/usr/local/Kaiyuan/redis/redis-shutdown
Type=notify
User=redis
Group=redis
RuntimeDirectory=redis
RuntimeDirectoryMode=0755

[Install]
WantedBy=multi-user.target

4.增加关闭脚本

vim /usr/local/Kaiyuan/redis/redis-shutdown
#!/bin/bash
#
# Wrapper to close properly redis and sentinel
test x"$REDIS_DEBUG" != x && set -x

REDIS_CLI=/usr/local/Kaiyuan/redis/bin/redis-cli

# Retrieve service name
SERVICE_NAME="$1"
if [ -z "$SERVICE_NAME" ]; then
   SERVICE_NAME=redis
fi

# Get the proper config file based on service name
CONFIG_FILE="/etc/$SERVICE_NAME.conf"

# Use awk to retrieve host, port from config file
HOST=`awk '/^[[:blank:]]*bind/ { print $2 }' $CONFIG_FILE | tail -n1`
PORT=`awk '/^[[:blank:]]*port/ { print $2 }' $CONFIG_FILE | tail -n1`
PASS=`awk '/^[[:blank:]]*requirepass/ { print $2 }' $CONFIG_FILE | tail -n1`
SOCK=`awk '/^[[:blank:]]*unixsocket\s/ { print $2 }' $CONFIG_FILE | tail -n1`

# Just in case, use default host, port
HOST=${HOST:-127.0.0.1}
if [ "$SERVICE_NAME" = redis ]; then
    PORT=${PORT:-6379}
else
    PORT=${PORT:-26739}
fi

# Setup additional parameters
# e.g password-protected redis instances
[ -z "$PASS"  ] || ADDITIONAL_PARAMS="-a $PASS"

# shutdown the service properly
if [ -e "$SOCK" ] ; then
        $REDIS_CLI -s $SOCK $ADDITIONAL_PARAMS shutdown
else
        $REDIS_CLI -h $HOST -p $PORT $ADDITIONAL_PARAMS shutdown
fi

wq保存后,为关闭脚本增加可执行权限

chmod +x /usr/local/Kaiyuan/redis/redis-shutdown

5.用systemctl管理redis服务,并增加开机自启动

systemctl daemon-reload
# 测试启动
systemctl start redis
# 测试重启,这里应该比较顺滑的重启好,如果等待超过 5 秒,肯定是有问题
systemctl restart redis
# 设置开机自启动
systemctl enable redis

总结

如果对redis版本没有要求,可以直接用centos的yum安装,可能版本不是最新的,但安装起来更方便快捷,用源码编译安装需要配置很多东西,但安装位置比较灵活。

如有问题,欢迎大家留言沟通,点赞支持!!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

北漂燕郊杨哥

您的支持是我最大的动力

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

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

打赏作者

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

抵扣说明:

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

余额充值