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
相关推荐
IT二叔6 小时前
Java项目部署-03-teamcity-cicd-docker镜像流水线方式部署
java·ci/cd·持续部署
一路向北he6 小时前
字节钢铁军团--“提供情境,而非控制”
java·开发语言·前端
国强_dev6 小时前
技术探讨:使用 stunnel 加密转发数据库连接时,如何获取客户端真实 IP?
数据库·网络协议·tcp/ip
@insist1236 小时前
系统规划与管理师-信息系统规划核心工作要点解析
数据库·软考·系统规划与管理师·软件水平考试·系统规划与管理工程师
超级数据查看器7 小时前
超级数据查看器 v10.0 发布
java·大数据·数据库·sqlite·安卓
数安3000天7 小时前
增量数据如何自动分类分级,避免目录“过期“?
大数据·数据库
折哥的程序人生 · 物流技术专研8 小时前
《Java 100 天进阶之路》第50篇:阻塞队列与并发容器(2026版)
java·面试题·java进阶·blockingqueue·并发容器·集合源码·java100天进阶
ai_coder_ai8 小时前
编写自动化脚本,在自己后端服务中使用Open Api进行设备相关操作
java·运维·自动化
南墙上的石头8 小时前
麒麟 V10 重装人大金仓 V8R6 踩坑实录(含 MySQL 兼容模式)
数据库·mysql
硕风和炜8 小时前
【LeetCode: 2492. 两个城市间路径的最小分数 + DFS】
java·算法·leetcode·深度优先·dfs·bfs·并查集