当前位置: 首页 > news >正文

Linux安装配置Redis 7.2.3教程

 Linux 下从源码安装和配置 Redis 7.2.3 的详细步骤。这个过程分为几个主要部分:安装依赖编译安装基本配置系统服务集成 和 基本测试

文章目录

前言

第一步:准备工作与安装依赖

第二步:编译与安装

第三步:基本配置

1.创建配置目录和工作目录

2.复制默认配置文件到系统目录

3.编辑配置文件

4.设置目录权限

第四步:创建系统服务(推荐)

1、创建 Redis 用户和组(为了安全,不以 root 用户运行):

2、创建 systemd 服务文件:

3、将以下内容写入服务文件:

4、重新加载 systemd 配置并启动 Redis 服务:

5、设置 Redis 开机自启:

6、检查 Redis 服务状态:

 问题分析及解决方案

第一步:停止当前服务

 第二步:重新编译 Redis 并启用 systemd 支持

第三步:修改 systemd 服务文件

第四步:解决内存过载警告(可选但推荐)

第五步:测试连接

1、使用 Redis 命令行客户端连接:

2、如果设置了密码,需要进行认证:

3、测试基本的 set 和 get 操作:

4、退出客户端:


前言

官网(Downloads | Redis)

下载(Index of /releases/)

第一步:准备工作与安装依赖

  1. 进入下载目录

创建一个安装路径并将安装包下载到此目录,我们后续的操作也在这里进行。

cd /root/wp/redis

        2.安装编译依赖

Redis 是使用 C 语言编写的,因此需要 gcc 编译器。此外,构建系统需要 make。我们还需要 systemd 相关的开发包(如果您希望将 Redis 作为系统服务管理)。

  • 对于 CentOS / RHEL / Rocky Linux / AlmaLinux:
yum update -y
yum install -y gcc make systemd-devel

  • 对于 Ubuntu / Debian:
apt update -y
apt install -y gcc make libsystemd-dev pkg-config

第二步:编译与安装

        1.使用 wget 下载 Redis 源代码压缩包:

sudo wget https://download.redis.io/releases/redis-7.2.3.tar.gz

wget 命令说明:

  • wget 是一个非交互式的网络下载工具。

  • 它会在后台直接下载文件到当前目录。

  • 如果下载中断,可以使用 wget -c 命令来断点续传。

        2.解压源码包

sudo tar xzf redis-7.2.3.tar.gz

        3.进入解压后的目录:

cd redis-7.2.3

        4.编译源码

        这个命令会编译 Redis 的可执行文件。-j 参数可以根据您的 CPU 核心数加速编译,例如 -j4 表示使用 4 个核心。

make -j$(nproc)

        $(nproc) 会自动获取您系统的 CPU 核心数。

        如果编译过程出现错误,通常是因为依赖问题,请确保第一步的准备工作已完成。

        

        5.运行测试(可选但推荐)

        这一步可以验证编译是否正确。需要 tcl 依赖。

  • CentOS/RHEL 等:yum install -y tcl

  • Ubuntu/Debian 等:apt install -y tcl

make test

测试过程可能需要几分钟。如果出现 \o/ All tests passed without errors! 则说明一切正常。

        6.安装到系统目录
        这会将 Redis 的可执行文件(如 redis-serverredis-cli)复制到系统的 /usr/local/bin/ 目录下,这样就可以在任意位置直接运行它们。

        7.验证安装

# 检查安装结果
ls -la /usr/local/bin/redis-server
/usr/local/bin/redis-server --version# 测试基本功能
redis-cli --version#启动服务
redis-server redis.conf	
#停止服务
pkill redis

第三步:基本配置

        现在 Redis 已经可以运行了,但默认配置不适合生产环境。我们需要创建一个配置文件并进行修改。

1.创建配置目录和工作目录

mkdir -p /etc/redis
mkdir -p /var/lib/redis
  • /etc/redis:存放配置文件。

  • /var/lib/redis:存放 Redis 的持久化数据(RDB/AOF 文件)。

2.复制默认配置文件到系统目录

cp /root/wp/redis/redis-7.2.4/redis.conf /etc/redis/redis.conf

3.编辑配置文件

        使用 vi 或 nano 等编辑器修改配置文件。

vi /etc/redis/redis.conf

        找到并修改以下关键配置项:

  • 设置为守护进程(后台运行):
daemonize yes
  • 设置持久化文件(RDB/AOF)目录:
dir /var/lib/redis
  • 日志文件路径:指定日志文件位置。
logfile /var/log/redis_6379.log
  • 设置密码(强烈建议): 找到 # requirepass foobared 这一行,取消注释并将 foobared 改为一个强密码。
requirepass your_strong_password_here
  • 如果需要远程访问(谨慎开启) 绑定 IP:为了安全,默认只监听本地回环地址。如果您需要从其他服务器访问,请设置服务器的 IP 地址,或注释掉这一行(有安全风险)。
bind 127.0.0.1 -::1
# 如果只需本地访问,保持原样即可。
# 如果需要远程访问,可以注释掉这行(不推荐)或设置为 `bind 0.0.0.0 -::1`(并务必设置密码)。
  • 保护模式:如果既没有设置密码也没有明确绑定 IP,保护模式会阻止外部访问。如果打算远程访问且设置了密码,可以关闭它,但更推荐使用 bind 和 requirepass
protected-mode yes

        修改完成后,保存并退出编辑器。

4.设置目录权限

sudo chown -R redis:redis /var/lib/redis

        注意:你需要先创建一个名为 redis 的用户和用户组(下一步会做)。

第四步:创建系统服务(推荐)

        为了方便管理(启动、停止、开机自启),我们创建一个 systemd 服务。

1、创建 Redis 用户和组(为了安全,不以 root 用户运行):

sudo groupadd redis
sudo useradd -r -g redis -s /bin/false redis

2、创建 systemd 服务文件:

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

3、将以下内容写入服务文件:

[Unit]
Description=Redis persistent key-value database
After=network.target[Service]
ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf
ExecStop=/usr/local/bin/redis-cli shutdown
User=redis
Group=redis
RuntimeDirectory=redis
RuntimeDirectoryMode=0755
LimitNOFILE=65536[Install]
WantedBy=multi-user.target

        保存并退出。

4、重新加载 systemd 配置并启动 Redis 服务:

sudo systemctl daemon-reload
sudo systemctl start redis

5、设置 Redis 开机自启:

sudo systemctl enable redis

6、检查 Redis 服务状态:

sudo systemctl status redis

        如果看到 active (running) 字样,说明 Redis 已经成功启动。

        很遗憾! 我这没有看到~    看到了别的信息:

[root@postgresql redis]# systemctl daemon-reload
[root@postgresql redis]# systemctl start redis
[root@postgresql redis]# systemctl enable redis
[root@postgresql redis]# systemctl status redis
● redis.service - Redis persistent key-value databaseLoaded: loaded (/etc/systemd/system/redis.service; enabled; vendor preset: disabled)Active: deactivating (stop-sigterm) since 四 2025-09-25 20:40:40 CST; 10s agoMain PID: 23168 (code=exited, status=0/SUCCESS)CGroup: /system.slice/redis.service└─23169 /usr/local/bin/redis-server 0.0.0.0:63799月 25 20:40:40 postgresql systemd[1]: Started Redis persistent key-value database.
9月 25 20:40:40 postgresql redis-server[23168]: 23168:C 25 Sep 2025 20:40:40.824 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it...
9月 25 20:40:40 postgresql redis-server[23168]: 23168:C 25 Sep 2025 20:40:40.824 # systemd supervision requested or auto-detected, but Redis is compiled without libsystemd support!
Hint: Some lines were ellipsized, use -l to show in full.

        服务状态显示 deactivating (stop-sigterm),这意味着 Redis 服务正在关闭过程中。从日志中可以看到两个关键问题:

 问题分析及解决方案

  1. 主要问题Redis is compiled without libsystemd support! - Redis 编译时缺少 systemd 支持

  2. 次要警告:内存过载提交设置警告

第一步:停止当前服务
sudo systemctl stop redis
 第二步:重新编译 Redis 并启用 systemd 支持

        1、安装 systemd 开发库

        CentOS/RHEL/Fedora:

sudo yum install -y systemd-devel

        Ubuntu/Debian:

sudo apt install -y libsystemd-dev pkg-config

        2、清理之前的编译

cd /root/wp/redis/redis-7.2.3
sudo make distclean

        3、重新编译并启用 systemd 支持

sudo make USE_SYSTEMD=yes

        4、重新安装

sudo make install
第三步:修改 systemd 服务文件
sudo nano /etc/systemd/system/redis.service

        将内容修改为:

[Unit]
Description=Redis persistent key-value database
After=network.target[Service]
Type=forking
ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf
ExecStop=/usr/local/bin/redis-cli -a your_strong_password_here shutdown
User=redis
Group=redis
RuntimeDirectory=redis
RuntimeDirectoryMode=0755# 禁用 systemd 通知(解决 NOTIFY_SOCKET 错误)
NotifyAccess=none# 设置超时时间
TimeoutStopSec=10[Install]
WantedBy=multi-user.target
第四步:解决内存过载警告(可选但推荐)

        编辑系统配置:

sudo nano /etc/sysctl.conf

        在文件末尾添加:

vm.overcommit_memory = 1

         或者以上两步替换为下边一步:

echo 'vm.overcommit_memory = 1' | sudo tee -a /etc/sysctl.conf

         使配置生效:

sudo sysctl -p

        第四步:重新启动 Redis 服务

sudo systemctl daemon-reload
sudo systemctl start redis
sudo systemctl status redis

第五步:测试连接

1、使用 Redis 命令行客户端连接:

redis-cli

2、如果设置了密码,需要进行认证:

127.0.0.1:6379> auth your_strong_password_here
OK

3、测试基本的 set 和 get 操作:

127.0.0.1:6379> set mykey "Hello World"
OK
127.0.0.1:6379> get mykey
"Hello World"

4、退出客户端:

127.0.0.1:6379> quit

http://www.dtcms.com/a/406939.html

相关文章:

  • 山西省城乡住房建设厅网站网站建设需要多少钱小江
  • 网站建设背景需要写些什么考研哪个培训机构比较好
  • JavaEE 初阶第二十五期:IP协议,网络世界的 “身份通行证”(一)
  • 有一个做炫舞官网活动的网站企业邮箱注册申请126
  • 服务器跨域问题CORS的解决
  • MyBatis进行级联查询
  • MySQL8.0.26-Linux版安装
  • 济南网站建设_美叶网络网址域名查询
  • 深入了解linux网络—— UDP网络通信
  • 招商加盟的网站应该怎么做宝坻做网站哪家好
  • 视频网站开发工具网站备案中是什么意思
  • 物理媒介和分组交换原理
  • Linux常用命令53——file
  • 西双版纳 网站建设网络建设与运维初级
  • 【Python】文件处理(一)
  • win10怎么做网站wordpress wooyun
  • 织梦网站登录网上做网站赚钱吗
  • Linux数据安全与备份策略完全指南
  • 哈尔滨网站建设服务公司暴雪游戏服务中心
  • wordpress 关闭评论网站优化排名提升
  • 硅基计划5.0 MySQL 壹 初识MySQL 初版
  • Linux之挂载新的硬盘(超详细!)
  • 部署 GitLab 服务器
  • C++项目:仿muduo库高并发服务器-------connection模块
  • 网站建设需要的资质互联网保险的发展现状
  • 8-机器学习与大模型开发数学教程-第0章 预备知识-0-8 编程与数值计算基础(浮点数精度、溢出、数值稳定性)
  • php网站开发书微信公众号手机网站开发
  • 做网站需要工商执照吗代人做网站
  • Go基础:模块化管理为什么能够提升研发效能?
  • 合肥专业做网站公司wd wordpress