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
相关推荐
CoderYanger1 小时前
C.滑动窗口-求子数组个数-越长越合法——2799. 统计完全子数组的数目
java·c语言·开发语言·数据结构·算法·leetcode·职场和发展
廋到被风吹走1 小时前
【数据库】【MySQL】InnoDB外键解析:约束机制、性能影响与最佳实践
android·数据库·mysql
C++业余爱好者1 小时前
Java 提供了8种基本数据类型及封装类型介绍
java·开发语言·python
想用offer打牌1 小时前
RocketMQ如何防止消息丢失?
java·后端·架构·开源·rocketmq
皮卡龙1 小时前
Java常用的JSON
java·开发语言·spring boot·json
掘根1 小时前
【消息队列】交换机数据管理实现
网络·数据库
Logic1012 小时前
《Mysql数据库应用》 第2版 郭文明 实验6 数据库系统维护核心操作与思路解析
数据库·sql·mysql·学习笔记·计算机网络技术·形考作业·国家开放大学
利刃大大2 小时前
【JavaSE】十三、枚举类Enum && Lambda表达式 && 列表排序常见写法
java·开发语言·枚举·lambda·排序
float_六七2 小时前
Java反射:万能遥控器拆解编程
java·开发语言
AI Echoes2 小时前
构建一个LangChain RAG应用
数据库·python·langchain·prompt·agent