在轻量应用服务器上安装和配置Redis时,需根据服务器资源(CPU、内存)和业务需求进行优化。以下是一份详细的推荐配置指南:
1. 安装Redis
通过包管理器安装(推荐)
# Ubuntu/Debian
sudo apt update
sudo apt install redis-server -y
# CentOS/RHEL
sudo yum install epel-release -y
sudo yum install redis -y
# 启动并设置开机自启
sudo systemctl enable redis
sudo systemctl start redis
手动编译安装(需最新版本时)
wget https://download.redis.io/redis-stable.tar.gz
tar -xzvf redis-stable.tar.gz
cd redis-stable
make && sudo make install
# 配置系统服务(需手动创建systemd单元文件)
2. 关键配置优化(/etc/redis/redis.conf)
基础配置
# 绑定IP(按需调整)
bind 127.0.0.1 # 仅本地访问,公网需绑定服务器IP并配置安全组
# 端口
port 6379
# 守护进程模式
daemonize yes
# 持久化策略(根据需求选择)
save 900 1 # 15分钟内至少1次变更触发RDB
save 300 10 # 5分钟内至少10次变更
appendonly yes # 启用AOF持久化(更安全但占用更多IO)
# 最大内存限制(关键!)
maxmemory 1GB # 设为服务器空闲内存的50%-70%
maxmemory-policy allkeys-lru # 内存满时淘汰策略
性能优化
# 禁用危险命令(增强安全性)
rename-command FLUSHDB ""
rename-command FLUSHALL ""
# 客户端连接数
maxclients 10000 # 根据业务需求调整
# 超时设置
timeout 300 # 客户端空闲超时(秒)
# 内核参数优化(需系统级配置)
echo "vm.overcommit_memory = 1" >> /etc/sysctl.conf
sysctl -p
3. 安全配置
密码认证
requirepass YourStrongPassword # 在配置文件中设置密码
重启Redis生效:
sudo systemctl restart redis
防火墙规则
# 仅允许特定IP访问(示例)
sudo ufw allow from 192.168.1.100 to any port 6379
禁用公网访问(如非必要)
bind 127.0.0.1 # 只监听本地
4. 监控与维护
基础监控命令
redis-cli info memory # 查看内存使用
redis-cli info stats # 查看操作统计
日志配置
logfile /var/log/redis/redis.log
loglevel notice # 生产环境建议用notice或warning
定期备份
# 手动触发RDB快照
redis-cli save
# 或使用BGSAVE(后台运行)
cp /var/lib/redis/dump.rdb /backup/redis-$(date +%F).rdb
5. 轻量服务器资源建议
-
1核1GB内存:
maxmemory 512MB,禁用AOF或设置appendfsync everysec。- 避免频繁写入,优先使用RDB持久化。
-
2核4GB内存:
maxmemory 3GB,可启用AOF + RDB。- 适合中小规模缓存或会话存储。
6. 常见问题处理
-
内存不足:
- 监控
used_memory,调整maxmemory-policy为volatile-lru(仅淘汰有过期时间的键)。
- 监控
-
性能瓶颈:
- 检查
redis-cli info中的instantaneous_ops_per_sec和延迟。 - 高并发时考虑分片或升级配置。
- 检查
通过以上配置,可以在轻量服务器上平衡性能、资源占用和安全性。根据实际业务负载进一步调整参数(如超时时间、持久化策略)。
云服务器