头图

在CentOS 7 系统下安装 Redis 并将其添加到 systemctl 中是一项常见的任务。该过程中涉及到从下载 Redis 安装包、编译安装 Redis 到配置 Redis 服务启动脚本的多步操作,本文将详细介绍每一步操作的原理及步骤,并进行合理的分析和优化,确保 Redis 可以稳定运行并随着系统启动自动加载。

一、获取并安装 Redis

1.1 下载 Redis 安装包

首先,我们需要下载 Redis 的安装包。官方推荐使用 wget 从 Redis 的官方网站下载。我们将 Redis 安装在 /home/pms/software 路径下,以便集中管理。

cd /home/pms/software
wget http://download.redis.io/releases/redis-6.0.9.tar.gz

解释

  • cd /home/pms/software:切换到安装路径。
  • wget:从指定的 URL 下载文件。

1.2 解压缩 Redis 安装包

下载完成后,我们使用 tar 命令解压安装包。解压后会在 /home/pms/software 下生成一个名为 redis-6.0.9 的文件夹。

tar xzf redis-6.0.9.tar.gz

解释

  • tar xzf:解压 .tar.gz 文件,x 表示解压,z 表示处理 .gz 格式的压缩文件,f 表示指定文件。

1.3 编译 Redis

解压完成后,进入 Redis 目录,并执行 make 命令对 Redis 进行编译:

cd redis-6.0.9
make

解释

  • cd redis-6.0.9:进入 Redis 源代码目录。
  • make:执行编译命令,使用 Redis 源代码生成可执行文件。

1.4 测试编译结果

Redis 编译完成后,我们可以通过 make test 命令来验证编译是否成功:

make test

如果测试结果显示 "All tests passed without errors!",则说明 Redis 编译成功,可以继续进行安装和配置。

解释

  • make test:执行 Redis 自带的测试程序,确保编译正确无误。

二、将 Redis 加入 systemctl

为了使 Redis 服务能够自动启动和管理,我们需要将其配置为 systemctl 服务。

2.1 创建 Redis 服务文件

/etc/systemd/system/ 目录下创建 redis.service 文件,该文件用于定义 Redis 服务的启动方式。

sudo vi /etc/systemd/system/redis.service

在文件中输入以下内容:

[Unit]
Description=Redis In-Memory Data Store
After=network.target

[Service]
User=root
Group=root
ExecStart=/home/pms/software/redis-6.0.9/src/redis-server /home/pms/software/redis-6.0.9/redis.conf
ExecStop=/home/pms/software/redis-6.0.9/src/redis-cli shutdown
Restart=always

[Install]
WantedBy=multi-user.target

解释

  • [Unit] 段:

    • Description:描述服务功能,这里表示 Redis 是一个内存数据存储服务。
    • After:确保在网络服务启动之后再启动 Redis。
  • [Service] 段:

    • UserGroup:定义以哪个用户和组身份运行 Redis,这里选择 root 用户。
    • ExecStart:启动 Redis 服务的命令,指定 Redis 服务文件的位置以及配置文件路径。
    • ExecStop:关闭 Redis 服务的命令,使用 Redis 客户端发送 shutdown 命令关闭服务。
    • Restart:设定服务失败时自动重启。
  • [Install] 段:

    • WantedBy=multi-user.target:指定在多用户模式下启动该服务。

2.2 重新加载 systemd

创建完服务文件后,需要通知 systemd 加载新的服务配置。

sudo systemctl daemon-reload

解释

  • systemctl daemon-reload:重新加载所有服务配置文件,使新的服务生效。

2.3 启动 Redis 服务

使用 systemctl 命令启动 Redis 服务:

sudo systemctl start redis

解释

  • systemctl start redis:启动名为 redis 的服务。

2.4 设置开机自启动

为了确保 Redis 随系统启动自动运行,我们可以通过以下命令设置 Redis 服务的开机自启动:

sudo systemctl enable redis

解释

  • systemctl enable redis:将 Redis 服务设置为系统启动时自动启动。

2.5 检查 Redis 服务状态

我们可以使用以下命令检查 Redis 服务的当前状态,以确认其是否正常运行:

sudo systemctl status redis

如果输出中看到 "Active: active (running)" 的提示,说明 Redis 服务正在正常运行。

解释

  • systemctl status redis:查看 Redis 服务的运行状态,确保服务正在运行。

三、分析与优化

步骤命令或操作原理与说明
下载 Rediswget http://download.redis.io/releases/redis-6.0.9.tar.gz从官方源下载 Redis 安装包,确保获取最新版本的稳定安装包。
解压文件tar xzf redis-6.0.9.tar.gz使用 tar 工具解压缩 Redis 安装包,生成包含源代码的文件夹。
编译 Redismake根据 Redis 源代码使用 make 命令进行编译,生成 Redis 可执行文件。
测试编译make test通过 Redis 提供的内置测试工具验证编译结果,确保没有编译错误。
创建服务文件sudo vi /etc/systemd/system/redis.service编写 systemd 服务文件,指定 Redis 服务的启动、停止方式,以及系统启动时自动加载的配置。
重新加载守护进程sudo systemctl daemon-reload重新加载所有服务文件,确保新的服务文件被 systemd 识别并注册为服务。
启动 Redissudo systemctl start redis启动 Redis 服务,确保 Redis 进程正在运行。
设置开机自启动sudo systemctl enable redis设置 Redis 服务随系统启动自动加载,使 Redis 服务长期运行且无需手动启动。
查看服务状态sudo systemctl status redis检查 Redis 服务的运行状态,确保服务正常启动并处于运行状态。

四、总结

通过以上步骤,我们成功地在 CentOS 7 系统下安装并配置了 Redis 服务。这个过程中,我们从下载、解压、编译 Redis 开始,逐步将其配置为 systemctl 管理的服务,最后实现了 Redis 服务的开机自启动。此流程严格按照 CentOS 系统服务管理的规范进行,确保 Redis 服务能够长期稳定运行,适用于生产环境。

Redis 是一个非常高效的内存数据库,得益于 systemctl 的管理,我们可以轻松地控制 Redis 的启动、停止和自动重启等操作,从而为系统的长期运行提供良好的支持。


蓝易云
25 声望3 粉丝