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

文章目录

  • 前言
  • 一、官网下载redis的安装包
  • 二、安装redis
    • 1.停止原来的redis服务,并且卸载旧版本,安装新版本
    • 2.修改配置文件
    • 3.增加启动脚本
    • 4.增加关闭脚本
    • 5.用systemctl管理redis服务,并增加开机自启动
  • 总结


前言

原来生产环境里是有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,下载的过程如下:
CENTOS7.9源码编译安装REDIS7.0图文教程_第1张图片

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安装,可能版本不是最新的,但安装起来更方便快捷,用源码编译安装需要配置很多东西,但安装位置比较灵活。

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

你可能感兴趣的:(linux,&centos,redis)