【解决思路】
0、安装准备
1、检查 Redis 是否已安装
2、redis源码包解压缩和编译及安装
3、redis配置文件修改
4、创建 systemd 服务文件
5、防火墙配置
6、开机自启和服务启动
7、检查服务是否成功运行
【执行过程】
操作系统centos7.5及以上
redis7.0.2安装包下载
下载地址:Release 7.0.2 · redis/redis · GitHub
mkdir -p /usr/local/temp/
上传安装包至 /usr/local/temp/目录下
touch /usr/local/temp/install-redis.sh
chmod a+x /usr/local/temp/install-redis.sh
vi /usr/local/temp/install-redis.sh
粘贴以下脚本
#!/usr/bin/bash
###############################
# #
# 安装REDIS7.0.2 #
# #
###############################
# 检查 Redis 是否已安装
if which redis-server &> /dev/null; then
echo "Redis 已经安装。"
exit 0
fi
echo "开始安装 Redis..."
# 解压源代码压缩包
tar -xzf /usr/local/temp/redis-7.0.2.tar.gz -C /usr/local
# 进入解压后的目录并编译和安装 Redis
cd /usr/local/redis-7.0.2/src
make MALLOC=libc && make install PREFIX=/usr/local/
#修改配置文件
cp /usr/local/redis-7.0.2/redis.conf /etc/redis/redis.conf
mkdir -p /usr/local/redis-7.0.2/data/logs
sed -i 's/# requirepass foobared/requirepass 123456 /g' /etc/redis/redis.conf
sed -i 's/daemonize no/daemonize yes/g' /etc/redis/redis.conf
sed -i 's/logfile ""/logfile "\/usr\/local\/redis-7.0.2\/data\/logs\/redis.log"/g' /etc/redis/redis.conf
sed -i 's/dir ./dir \/usr\/local\/redis-7.0.2\/data/g' /etc/redis/redis.conf
sed -i 's/bind 127.0.0.1/bind 0.0.0.0/g' /etc/redis/redis.conf
#创建redis.service
cat > /usr/lib/systemd/system/redis.service <<EOF
[Unit]
Description=Redis In-Memory Data Store
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf
ExecReload=/usr/local/bin/redis-server restart
ExecStop=/usr/local/bin/redis-server stop
PrivateTmp=true
[Install]
WantedBy=multi-user.target
EOF
chmod a+x /usr/lib/systemd/system/redis.service
#开放6379端口
firewall-cmd --zone=public --add-port=6379/tcp --permanent
firewall-cmd --reload
#开机自启
systemctl daemon-reload
systemctl enable redis
systemctl start redis
# 使用systemctl命令检查Redis服务状态
status=$(systemctl is-active redis.service)
# 判断Redis服务状态是否为active
if [[ $status == "active" ]]; then
echo "Redis服务正在运行"
else
echo "Redis服务未运行"
exit 1
fi
按esc 输入:wq!
执行 /usr/local/temp/install-redis.sh
如图2所示