在Linux部署单机Redis完整过程

前言

本文以redis-6.2.5为例,讲述在 Linux 系统下单机 Redis 下载、编译、打包、安装为服务、启动和访问的整个过程。

安装环境为 Linux CentOS 64,本文用的 7.5 版本.

下载编译目录在当前目录soft/redis下,最终服务可执行程序在/opt/soft/redis6中。

准备工作

查看是否有文件下载工具
wget --help
如果没有则安装文件下载工具
yum install wget

查看是否有编译套件
gcc --help
如果没有就安装编译套件 GCC
yum install gcc

部署步骤

下载安装包并编译

echo "创建单独目录" > /dev/null
mkdir -p ~/soft/redis

echo "下载、解压安装包" > /dev/null
wget -P ~/soft/redis http://download.redis.io/releases/redis-6.2.5.tar.gz
tar -xf ~/soft/redis/redis-6.2.5.tar.gz -C ~/soft/redis/

echo "编译,成功后会在 ~/soft/redis/redis-6.2.5/src 下生成可执行程序" > /dev/null
make -C ~/soft/redis/redis-6.2.5

如果编译出现了问题,解决后需要执行下面命令清除之前编译结果,然后再一次执行编译命令

make -C ~/soft/redis/redis-6.2.5 distclean

安装并配置环境变量

echo "安装并指明路径,完成后可以看到目录 /opt/soft/redis6/bin 下生成了可执行程序" > /dev/null
make -C ~/soft/redis/redis-6.2.5 install PREFIX=/opt/soft/redis6

echo "追加REDIS_HOME环境变量" > /dev/null
echo '
export REDIS_HOME=/opt/soft/redis6
export PATH=$PATH:$REDIS_HOME/bin' >> /etc/profile

echo "使环境变量生效" > /dev/null
source /etc/profile

echo "查看Redis版本" > /dev/null
redis-server -v

编辑服务安装脚本

vim ~/soft/redis/redis-6.2.5/utils/install_server.sh

注释下面几行。

在Linux部署单机Redis完整过程
image-20210925235054310

使用脚本安装为服务

~/soft/redis/redis-6.2.5/utils/install_server.sh

中间会提示要输入端口、路径都可以一直回车使用默认的,最后创建成功会配置好开机启动,并启动这个服务实例。配置多个服务的时候重复执行这个脚本,输入不同的端口号,路径都会根据端口号创建默认的。

在Linux部署单机Redis完整过程
image-20210926000223844
在Linux部署单机Redis完整过程
image-20210926000307634

启动/停止/查看状态

不同的服务需改端口号来执行

service redis_6379 start/stop/status

其他问题

远程连接不上

修改配置文件 /etc/redis/6379.conf,注释 bind 并 配置 protected-mode 为 no。

bind 127.0.0.1 -::1

protected-mode no

停机失败

配置密码后使用命令 service redis_6379 stop 停止 Redis 失败,如下图:

在Linux部署单机Redis完整过程
在这里插入图片描述

查看服务脚本 /etc/init.d/redis_6379 可以发现,stop 是通过 redis-cli 调用 shutdown 来完成的,这种客户端停机方式需要提供密码。

在Linux部署单机Redis完整过程
image-20210925235605335
在Linux部署单机Redis完整过程
image-20210925235654014

我们只要编辑这个脚本,在停机那一行中加入密码参数就可以了。

$CLIEXEC -p $REDISPORT -a 密码 shutdown

但是它会提示你在命令行接口这样做不安全:

Warning: Using a password with ‘-a’ or ‘-u’ option on the command line interface may not be safe.

那就先通过 redis-cli 登录,再验证密码进行停机

在Linux部署单机Redis完整过程

各个目录之间关系

这个是解压后的目录,只有在安装新的组件或者不同端口的 Redis 服务才会需要它,后面服务启动跟它没关系
/root/soft/redis/redis-6.2.5
执行完安装脚本后这里生成了可执行脚本,所有服务启动都会用到,但它有一份就够了
/opt/soft/redis6/bin

每个 Redis 服务都会产生独立的以下几个文件/目录,不同服务相应端口号有区别
配置
/etc/redis/6379.conf
数据
/var/lib/redis/6379
日志
/var/log/redis_6379.log
服务启动脚本
/etc/init.d/redis_6379

参考说明文档

cat redis-6.2.5/README.md

参考链接

Redis 各发布版下载地址[1]

Redis 中文网[2]

引用链接

[1] Redis 各发布版下载地址: http://download.redis.io/releases/
[2] Redis 中文网: http://redis.cn/


原文始发于微信公众号(我有八千部下):在Linux部署单机Redis完整过程

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/102632.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!