Redis作为高性能的键值存储数据库,在现代应用架构中扮演着至关重要的角色。虽然可以通过apt快速安装Redis,但从源码编译安装能够获得最新版本、最佳性能以及更精细的定制能力。本文将详细介绍如何在Ubuntu系统上编译安装Redis并配置生产环境。
🖥️ 安装环境概述
在开始安装前,先了解下我们的操作环境和规 划:
项目 | 详情 |
---|---|
操作系统 | Ubuntu Server 22.04 LTS 64bit |
Redis版本 | 7.2.4 |
源码包路径 | /download/redis-7.2.4.tar.gz |
目标安装路径 | /model/redis7 |
配置文件路径 | /model/redis7/conf |
数据存储路径 | /model/redis7/data |
日志路径 | /model/redis7/logs |
为什么选择编译安装? 编译安装虽然步骤较多,但可以获得最新特性、最佳性能优化,以及对安装路径和配置的完全控制。
🚀 安装步骤详解
📦 一、安装编译依赖
Redis编译需要一些基础开发库和工具:
sudo apt update
sudo apt install -y build-essential tcl pkg-config libssl-dev
依赖说明
- build-essential:提供编译软件所需的基本工具
- tcl:用于Redis测试
- pkg-config:帮助找到已安装库的信息
- libssl-dev:支持TLS加 密连接
📂 二、准备安装目录
创建所需的各种目录:
sudo mkdir -p /model/redis7
sudo mkdir -p /model/redis7/conf
sudo mkdir -p /model/redis7/data
sudo mkdir -p /model/redis7/logs
📦 三、解压源码包
将Redis源码包解压到临时位置:
cd /download
sudo tar -xzvf redis-7.2.4.tar.gz
🔨 四、编译Redis
进入源码目录并开始编译:
cd redis-7.2.4
sudo make
编译过程可能需要几分钟,具体时间取决于服务器性能。
可选但推荐:运行测试确保编译正确
sudo make test
📥 五、安装到指定路径
使用PREFIX参数将编译好的文件安装到我们的目标目录:
sudo make PREFIX=/model/redis7 install
这会将Redis的二进制文件安装到/model/redis7/bin
目录下。
⚙️ 六、配置Redis
复制默认配置文件到我们的配置目录:
sudo cp /download/redis-7.2.4/redis.conf /model/redis7/conf/
编辑配置文件以允许外部访问和其他生产环境设置:
sudo nano /model/redis7/conf/redis.conf
需要修改的关键配置项:
# 允许所有IP访问
bind 0.0.0.0
# 关闭保护模式
protected-mode no
# 设置端口(默认是6379)
port 6379
# 以守护进程方式运行
daemonize yes
# 指定pid文件位置
pidfile /model/redis7/redis_6379.pid
# 指定日志文件位置
logfile "/model/redis7/logs/redis.log"
# 指定数据存储位置
dir /model/redis7/data
# 设置访问密码(强烈建议为安全性设置)
requirepass YourStrongPasswordHere
安全提示
在生产环境中,必须设置一个强密码并考虑启用TLS加密!默认配置下的Redis实例容易受到攻击。
🔄 七、创建系统服务
创建systemd服务文件以便系统管理Redis服务:
sudo nano /etc/systemd/system/redis7.service
添加以下内容:
[Unit]
Description=Redis In-Memory Data Store
After=network.target
[Service]
Type=forking
ExecStart=/model/redis7/bin/redis-server /model/redis7/conf/redis.conf
ExecStop=/model/redis7/bin/redis-cli -h 127.0.0.1 -p 6379 -a "YourStrongPasswordHere" shutdown
Restart=always
User=root
Group=root
RuntimeDirectory=redis
RuntimeDirectoryMode=0755
[Install]
WantedBy=multi-user.target
服务文件说明
- Type=forking:表示进程会fork子进程然后退出
- ExecStop:使用redis-cli优雅地关闭Redis
- Restart=always:服务崩溃时自动重启
记得将"YourStrongPasswordHere"替换为你在配置文件中设置的实际密码。
🌐 八、配置环境变量
创建环境变量配置文件:
sudo nano /etc/profile.d/redis7.sh
添加以下内容:
export PATH=$PATH:/model/redis7/bin
设置权限并应用:
sudo chmod +x /etc/profile.d/redis7.sh
source /etc/profile.d/redis7.sh
▶️ 九、启动Redis服务
重新加载systemd配置并启动Redis:
sudo systemctl daemon-reload
sudo systemctl start redis7
设置开机自启:
sudo systemctl enable redis7