Redis落地指南:Linux安装配置全解析
linux安装redis
Redis 是 Linux 服务器中非常常用的内存数据库,常用于缓存、会话存储、消息队列、排行榜、分布式锁等场景。下面介绍几种在 Linux 上安装 Redis 的方法,并包含基础配置、启动验证和安全建议。
一、安装前准备
在安装 Redis 之前,建议使用具备管理员权限的账号操作,例如 root 或使用 sudo。
如果是源码编译安装,需要先安装编译工具:
sudo yum install -y gcc make
或 Ubuntu/Debian 系统:
sudo apt update
sudo apt install -y build-essential
二、使用系统包管理器安装
1. Ubuntu / Debian 安装 Redis
sudo apt update
sudo apt install -y redis-server
安装完成后,启动 Redis:
sudo systemctl start redis-server
sudo systemctl enable redis-server
查看运行状态:
sudo systemctl status redis-server
2. CentOS / Rocky / AlmaLinux 安装 Redis
sudo yum install -y redis
启动并设置开机自启:
sudo systemctl start redis
sudo systemctl enable redis
查看状态:
sudo systemctl status redis
使用包管理器安装的优点是操作简单,适合快速部署;缺点是版本可能不是最新。如果需要指定版本或自定义编译参数,可以选择源码安装。
三、源码编译安装 Redis
1. 下载 Redis 源码
可以从 Redis 官方下载稳定版本源码包,例如:
cd /usr/local/src
wget https://download.redis.io/redis-stable.tar.gz
解压源码包:
tar -zxvf redis-stable.tar.gz
cd redis-stable
2. 编译安装
make
sudo make install
如果需要编译 TLS 支持,可以使用:
make BUILD_TLS=yes
sudo make install
编译完成后,常用命令会安装到 /usr/local/bin 目录下,例如:
redis-server
redis-cli
redis-benchmark
四、配置 Redis
Redis 默认配置文件通常位于:
/usr/local/etc/redis/redis.conf
也可以将配置文件复制到更规范的位置:
sudo mkdir -p /etc/redis
sudo cp redis.conf /etc/redis/redis.conf
常用配置项如下:
port 6379
bind 127.0.0.1
protected-mode yes
daemonize yes
supervised systemd
dir /var/lib/redis
appendonly yes
requirepass your_strong_password
maxmemory 512mb
maxmemory-policy allkeys-lru
说明:
port:Redis 监听端口,默认是6379。bind:建议只监听本机地址,避免直接暴露到公网。protected-mode:保护模式,建议开启。daemonize:是否后台运行。appendonly:开启 AOF 持久化。requirepass:设置访问密码。maxmemory:限制 Redis 最大内存使用。maxmemory-policy:内存淘汰策略。
五、使用 systemd 管理 Redis
如果使用源码安装,建议创建 systemd 服务文件:
sudo vim /etc/systemd/system/redis.service
写入以下内容:
[Unit]
Description=Redis Server
After=network.target
[Service]
User=redis
Group=redis
ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf
Restart=always
[Install]
WantedBy=multi-user.target
创建 Redis 用户和目录:
sudo useradd -r -s /sbin/nologin redis
sudo mkdir -p /var/lib/redis
sudo chown -R redis:redis /var/lib/redis /etc/redis
重新加载服务并启动:
sudo systemctl daemon-reload
sudo systemctl start redis
sudo systemctl enable redis
查看状态:
sudo systemctl status redis
六、验证 Redis 是否安装成功
使用 redis-cli 测试连接:
redis-cli ping
如果返回:
PONG
说明 Redis 正常运行。
如果设置了密码,需要先认证:
redis-cli
进入命令行后执行:
AUTH your_strong_password
PING
也可以直接测试读写:
redis-cli -a your_strong_password
SET name redis
GET name
如果返回 redis,说明数据库读写正常。
七、防火墙与安全建议
Redis 不建议直接暴露在公网。如果必须远程访问,需要谨慎配置防火墙和安全组。
例如只允许指定 IP 访问 6379 端口:
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source ip_address="你的服务器IP" port protocol="tcp" port="6379" accept'
sudo firewall-cmd --reload
安全建议:
- 设置强密码,不要使用空密码。
- 不要将 Redis 直接暴露到公网。
- 尽量绑定内网地址或本机地址。
- 开启防火墙限制访问来源。
- 生产环境建议使用 TLS 加密通信。
- 定期备份 RDB 或 AOF 数据。
- 根据业务设置合理的内存上限和淘汰策略。
八、常见问题处理
1. 端口被占用
如果启动失败,提示端口被占用,可以查看:
sudo ss -lntup | grep 6379
确认占用端口的程序后,修改 Redis 配置中的端口号。
2. 权限不足
如果 Redis 无法写入数据目录,需要检查目录权限:
sudo chown -R redis:redis /var/lib/redis
3. protected-mode 限制连接
如果远程无法连接,可能是保护模式导致。建议不要直接关闭保护模式,而是正确配置 bind、密码和防火墙。
4. 内存不足
生产环境建议设置:
maxmemory 1gb
maxmemory-policy allkeys-lru
这样可以避免 Redis 无限占用服务器内存。
九、卸载 Redis
如果使用包管理器安装,可以卸载:
Ubuntu/Debian:
sudo apt remove --purge redis-server
CentOS/RHEL 系列:
sudo yum remove -y redis
如果使用源码安装,可以删除安装文件和相关目录:
sudo rm -rf /usr/local/bin/redis-server
sudo rm -rf /usr/local/bin/redis-cli
sudo rm -rf /etc/redis
sudo rm -rf /var/lib/redis
总结
在 Linux 上安装 Redis 主要有两种方式:使用系统包管理器安装,操作简单,适合快速部署;使用源码编译安装,灵活度更高,适合生产环境自定义配置。安装完成后,需要通过 redis-cli ping 验证服务是否正常,并根据业务需求配置密码、端口、持久化、内存限制和防火墙规则。生产环境中,Redis 安全配置非常重要,应避免直接暴露公网,同时做好数据备份和服务监控。