redis离线安装

1、指定目录

复制代码
cd /usr/local/

2、创建redis目录

复制代码
mkdir redis

3、上传解压

复制代码
cd /usr/local/redis/
tar -zvxf redis-6.2.14.tar.gz

4、进入目录下

复制代码
cd /usr/local/redis/redis-6.2.14

5、使用libc内存分配器编译

复制代码
make MALLOC=libc

6、#安装到系统

复制代码
make install

7、创建配置和数据目录

复制代码
mkdir -p /etc/redis
mkdir -p /var/lib/redis
mkdir -p /var/log/redis

8、复制配置文件

复制代码
cp redis.conf /etc/redis/

9、#修改配置文件以允许后台运行和远程访问

复制代码
sed -i 's/daemonize no/daemonize yes/' /etc/redis/redis.conf
sed -i 's/bind 127.0.0.1/bind 0.0.0.0/' /etc/redis/redis.conf
sed -i 's/protected-mode yes/protected-mode no/' /etc/redis/redis.conf

10、启动Redis

复制代码
redis-server /etc/redis/redis.conf

11、验证Redis运行,应该返回 PONG

复制代码
redis-cli ping

12、创建systemd服务文件

复制代码
cat > /etc/systemd/system/redis.service << 'EOF'
[Unit]
Description=Redis In-Memory Data Store
After=network.target

[Service]
Type=simple
ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf
ExecStop=/usr/local/bin/redis-cli -h 127.0.0.1 -p 6379 shutdown
Restart=always
RestartSec=10
User=root
LimitNOFILE=65536

# 防止快速重启失败
StartLimitInterval=100
StartLimitBurst=5

[Install]
WantedBy=multi-user.target
EOF

13、重新加载systemd并启用服务

复制代码
systemctl daemon-reload #重启
systemctl enable redis  #自启动
systemctl start redis   #启动
systemctl status redis  #查看状态

14、开放Redis端口

复制代码
firewall-cmd --permanent --add-port=6379/tcp
firewall-cmd --reload

15、测试

复制代码
redis-cli
# 在redis-cli中执行
127.0.0.1:6379> set test "hello"
127.0.0.1:6379> get test
127.0.0.1:6379> exit
# 远程连接测试(从其他机器)
redis-cli -h 你的服务器IP -p 6379

16、防火墙配置(如果需要远程访问)

复制代码
firewall-cmd --permanent --add-port=6379/tcp
firewall-cmd --reload

17、若出现重启失败

复制代码
# 创建正确的 Redis 服务文件
cat > /etc/systemd/system/redis.service << 'EOF'
[Unit]
Description=Redis In-Memory Data Store
After=network.target

[Service]
Type=simple
ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf
ExecStop=/usr/local/bin/redis-cli -a 密码 shutdown
Restart=always
RestartSec=10
User=root
LimitNOFILE=65536
WorkingDirectory=/var/lib/redis

# 设置环境变量
Environment=REDIS_PASSWORD=密码

# 标准输出和错误输出
StandardOutput=journal
StandardError=journal

# 防止快速重启失败
StartLimitInterval=100
StartLimitBurst=10

[Install]
WantedBy=multi-user.target
EOF
相关推荐
程序员黑豆4 小时前
Java类型推断完全指南:从var到菱形运算符,掌握使用限制与最佳实践
java·前端·ai编程
风流 少年5 小时前
Spring AI 2.0:Memory
java·后端·spring
码匠许师傅5 小时前
【C++ 面试真题】聊聊 C++ 的移动语义与右值引用
java·c++·面试
2603_965148116 小时前
如何解析JSON数据?API返回的商品信息处理教程
开发语言·数据库·python·自动化·json·api
ltl6 小时前
RocksDB 经典故障排查:L0、compaction 与 write stall
数据库
小席是个热心肠6 小时前
AI相关的自我学习
java·人工智能·学习
xfhuangfu7 小时前
Oracle中建立到CDB和PDB的连接
数据库·oracle·rpc
小小龙学IT7 小时前
DuckDB 深度实战:用 C++ 在进程内跑一个「分析型数据库」
数据库·c++
NineData7 小时前
DTCC 2026 预告|NineData CEO& 创始人叶正盛:面向 AI Agent 的数据库 DevOps 与数据复制实践
数据库·人工智能·数据库开发·devops·ninedata·数据库技术·dtcc
J_bean8 小时前
MySQL 事务是否必须手动开启?
数据库·mysql·数据库事务·自动提交·手动提交