Ubuntu/CentOS 服务器安装 Redis 超全面指南
Ubuntu/CentOS 服务器安装 Redis 超全面指南
苦于现在关于 Redis 的博客教程不太完整,且分散,本人用AI工具的辅助,做了一个汇总,本文详细介绍如何在 Ubuntu/CentOS 服务器上安装、配置和启动 Redis,有完整的操作步骤和常见问题解决方案。由于篇幅限制,CentOS 以及后续部分我放到了主页的另外一篇文章,需要的可以点击主页查看~
Ubuntu/CentOS 服务器安装 Redis 超全面指南(续集)
前言
Redis 是一个开源的高性能键值对数据库,因其出色的性能和丰富的数据结构支持,被广泛应用于缓存、消息队列、实时排行榜等场景。本文将手把手教你在 Ubuntu 服务器上部署 Redis。内容很多很全面,按需要参考使用吧~
一、Ubuntu 系统安装 Redis
1.1 环境准备
本教程基于 Ubuntu 20.04/22.04 LTS 版本,其他版本操作类似。
首先更新系统软件包:
sudo apt update
sudo apt upgrade -y
1.2 安装方式选择
Ubuntu 上安装 Redis 有两种主流方式:
- APT 包管理器安装(比较快速,日常学习使用安这个就够了)
- 源码编译安装(对性能要求高可以用这个,可以自定义配置)
1.3 方法一:APT 安装(推荐)
这是最简单的安装方式,适合大多数场景:
# 安装 Redis
sudo apt install redis-server -y
安装完成后,Redis 会自动启动。验证安装:
# 查看 Redis 版本
redis-server --version
# 查看服务状态
sudo systemctl status redis-server
输出类似:
● redis-server.service - Advanced key-value store
Loaded: loaded (/lib/systemd/system/redis-server.service; enabled)
Active: active (running)
1.4 方法二:源码编译安装
如果需要最新版本或自定义编译选项,可以选择源码安装。
步骤 1:安装编译依赖
sudo apt install build-essential tcl pkg-config libssl-dev -y
步骤 2:下载 Redis 源码
访问 Redis 官网 获取最新版本,这里以 7.2.4 为例:
cd /tmp
wget https://download.redis.io/releases/redis-7.2.4.tar.gz
tar xzf redis-7.2.4.tar.gz
cd redis-7.2.4
步骤 3:编译安装
# 编译
make
# 运行测试(可选,可能需要几分钟)
make test
# 安装到系统目录
sudo make install
步骤 4:配置 Redis
# 创建配置目录
sudo mkdir -p /etc/redis
sudo mkdir -p /var/lib/redis
# 复制配置文件
sudo cp redis.conf /etc/redis/redis.conf
# 创建 Redis 用户
sudo useradd -r -s /bin/false redis
# 设置目录权限
sudo chown redis:redis /var/lib/redis
sudo chmod 770 /var/lib/redis
步骤 5:创建 systemd 服务文件
sudo vim /etc/systemd/system/redis.service
写入以下内容:
[Unit]
Description=Redis In-Memory Data Store
After=network.target
[Service]
User=redis
Group=redis
ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf
ExecStop=/usr/local/bin/redis-cli shutdown
Restart=always
[Install]
WantedBy=multi-user.target
重载 systemd 配置:
sudo systemctl daemon-reload
1.5 Ubuntu 启动和管理 Redis
无论使用哪种安装方式,管理命令都是一样的:
# 启动 Redis
sudo systemctl start redis-server # APT 安装
# 或
sudo systemctl start redis # 源码安装
# 停止 Redis
sudo systemctl stop redis-server
# 重启 Redis
sudo systemctl restart redis-server
# 查看状态
sudo systemctl status redis-server
# 设置开机自启动
sudo systemctl enable redis-server
# 取消开机自启动
sudo systemctl disable redis-server
1.6 Ubuntu 配置文件说明
APT 安装的文件位置:
- 配置文件:
/etc/redis/redis.conf - 日志文件:
/var/log/redis/redis-server.log - 数据目录:
/var/lib/redis - PID 文件:
/var/run/redis/redis-server.pid
源码安装的文件位置:
- 配置文件:
/etc/redis/redis.conf - 日志文件:需在配置文件中指定
- 数据目录:
/var/lib/redis
1.7 Ubuntu 基础配置
编辑配置文件:
sudo vim /etc/redis/redis.conf
重要配置项:
1. 绑定地址
# 默认只允许本地访问
bind 127.0.0.1
# 允许所有 IP 访问(注意安全风险)
bind 0.0.0.0
# 允许特定 IP 访问(推荐)
bind 127.0.0.1 192.168.1.100
不过如果是自己学习使用的话,因为没有什么价值,全部开放就行了,也不用设置密码
2. 端口设置
# 默认端口 6379
port 6379
3. 后台运行
# systemd 管理时设置为 no
daemonize no
# 手动启动时设置为 yes
daemonize yes
4. 密码认证
# 设置访问密码
requirepass your_strong_password_123
学习使用的话,到这里已经可以了
5. 持久化配置
# RDB 快照
save 900 1 # 900 秒内至少 1 个键变化
save 300 10 # 300 秒内至少 10 个键变化
save 60 10000 # 60 秒内至少 10000 个键变化
# AOF 持久化
appendonly yes
appendfilename "appendonly.aof"
appendfsync everysec
6. 内存管理
# 最大内存限制
maxmemory 2gb
# 内存淘汰策略
maxmemory-policy allkeys-lru
7. 日志配置
# 日志级别:debug, verbose, notice, warning
loglevel notice
# 日志文件路径
logfile /var/log/redis/redis-server.log
修改配置后重启服务:
sudo systemctl restart redis-server
1.8 Ubuntu 防火墙配置
如果需要远程访问 Redis,需要开放端口:
# 使用 UFW
sudo ufw allow 6379/tcp
sudo ufw reload
# 查看规则
sudo ufw status
或者使用 iptables:
sudo iptables -A INPUT -p tcp --dport 6379 -j ACCEPT
sudo iptables-save
1.9 Ubuntu 测试 Redis
本地连接测试:
# 无密码连接
redis-cli
# 有密码连接
redis-cli -a your_password
# 或连接后认证
redis-cli
127.0.0.1:6379> AUTH your_password
OK
基本命令测试:
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> set name "Redis"
OK
127.0.0.1:6379> get name
"Redis"
127.0.0.1:6379> keys *
1) "name"
127.0.0.1:6379> info server
# Server
redis_version:7.2.4
...
127.0.0.1:6379> exit
远程连接测试:
redis-cli -h 192.168.1.100 -p 6379 -a your_password ping
1.10 Ubuntu 常见问题
问题 1:Redis 无法启动
# 查看日志
sudo tail -f /var/log/redis/redis-server.log
# 检查配置文件语法
redis-server /etc/redis/redis.conf --test-memory 1024
问题 2:端口被占用
# 查看端口占用
sudo netstat -tlnp | grep 6379
sudo lsof -i :6379
# 杀死占用进程
sudo kill -9 <PID>
问题 3:连接被拒绝
- 检查 Redis 是否运行:
sudo systemctl status redis-server - 检查 bind 配置是否正确
- 检查防火墙规则
- 检查密码是否正确
问题 4:内存不足
# 查看内存使用
redis-cli info memory
# 清理数据
redis-cli FLUSHALL
# 调整 maxmemory 配置
更多推荐


所有评论(0)