centos7 安装redis并开机启动

本文详细介绍如何从源码安装Redis,并配置其为系统服务,实现开机自启。文章提供了具体的步骤和命令,帮助读者轻松完成Redis的部署。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先确认是否具有root权限,因为vim、设定redis开机启动需要root权限

su

redis 下载 https://redis.io/download

wget http://download.redis.io/releases/redis-3.2.8.tar.gz

解压缩

tar xzf redis-3.2.8.tar.gz

进入解压后的文件目录

cd redis-3.2.8

redis安装相对简单 直接编译即可

make

创建存储redis文件目录

mkdir -p /usr/local/redis

复制redis-server redis-cli到新建立的文件夹

cd /home/lukas/redis-3.2.8/src 
cp redis-server /usr/local/redis/
cp redis-cli /usr/local/redis/

复制redis的配置文件 这里是复制,所有不需要再保存原来的配置文件(操作配置文件,一定要备份原来的配置文件,具体为什么你懂的

cd /home/lukas/redis-3.2.8/
cp redis.conf /usr/local/redis/

编辑配置文件 redis.conf

cd /usr/local/redis/
vim redis.conf

daemonize 改为yes 后台运行 (配置文件具体说明http://www.cnblogs.com/kreo/p/4423362.html),/进行快捷查找,/daemonize 回车 按inset进入编辑
这里写图片描述

添加开机启动服务(复制下方代码时,在vim中一定要检查是否一致)

vim /etc/systemd/system/redis-server.service
[Unit]
Description=The redis-server Process Manager
After=syslog.target network.target

[Service]
Type=simple
PIDFile=/var/run/redis_6379.pid
ExecStart=/usr/local/redis/redis-server /usr/local/redis/redis.conf         
ExecReload=/bin/kill -USR2 $MAINPID
ExecStop=/bin/kill -SIGINT $MAINPID

[Install]
WantedBy=multi-user.target

设置开机启动

systemctl daemon-reload 
systemctl start redis-server.service 
systemctl enable redis-server.service

创建redis命令软连接

ln -s /usr/local/redis/redis-cli /usr/bin/redis

测试redis
这里写图片描述

说明:
/home/lukas/redis-3.2.8/src
/home/lukas/redis-3.2.8/
该路径我本机redis解压路径,请注意对号入座!

<think>好的,我现在需要帮助用户解决如何在CentOS 7上配置Redis开机启动。首先,我得回想一下CentOS 7的服务管理机制,知道它使用的是systemd,所以用户需要创建一个systemd服务单元文件。 接下来,我需要确定用户是否已经安装Redis。如果用户是从源代码安装的,可能默认没有systemd服务文件,而如果是通过yum安装的,可能已经存在。不过根据常见情况,用户可能使用的是源码安装,所以需要手动创建服务文件。 然后,我需要考虑服务文件的正确配置。包括ExecStart指向正确的redis-server路径和配置文件位置,以及设置相关的运行参数。需要确保路径正确,否则服务无法启动。同时,用户可能需要修改Type为forking,如果Redis以守护进程运行的话。 权限也是一个关键点,服务文件应该放在/etc/systemd/system/目录下,且需要执行systemctl daemon-reload来重新加载配置。此外,可能需要检查Redis的数据目录和日志文件的权限,确保redis用户有写入权限,避免启动失败。 用户可能遇到的问题包括路径错误、权限不足,或者SELinux设置导致的问题。需要提示用户检查日志,使用journalctl -u redis.service来查看错误信息,考虑暂时禁用SELinux或调整策略。 最后,要确保用户完成所有步骤后测试服务是否正常启动验证开机启动是否生效。可能还需要提醒用户如果遇到防火墙问题,需要开放相应的端口,但这个问题可能超出当前问题的范围,不过可以作为附加提示。</think>### CentOS 7 配置 Redis 开机启动指南(Systemd 方式) --- #### **一、创建 Systemd 服务文件** 1. 新建服务配置文件: ```bash sudo vim /etc/systemd/system/redis.service ``` 2. 写入以下内容(按实际情况修改关键路径): ```ini [Unit] Description=Redis In-Memory Data Store After=network.target [Service] Type=simple User=redis Group=redis ExecStart=/usr/local/bin/redis-server /etc/redis.conf # Redis安装路径和配置文件路径 ExecStop=/usr/local/bin/redis-cli shutdown # 停止命令 Restart=always RestartSec=3 LimitNOFILE=65535 OOMScoreAdjust=-1000 [Install] WantedBy=multi-user.target ``` --- #### **二、关键配置说明** 1. **路径检查**: - 使用 `which redis-server` 确认二进制文件路径 - 默认配置文件路径通常为 `/etc/redis.conf` 2. **专用用户**(建议操作): ```bash sudo groupadd redis sudo useradd -r -g redis -s /bin/false redis ``` 3. **权限设置**: ```bash sudo chown -R redis:redis /var/lib/redis # 数据目录 sudo chown redis:redis /etc/redis.conf # 配置文件 ``` --- #### **三、启用测试服务** 1. 重载 systemd 配置: ```bash sudo systemctl daemon-reload ``` 2. 启动 Redis 服务: ```bash sudo systemctl start redis ``` 3. 设置开机自启: ```bash sudo systemctl enable redis ``` 4. 验证服务状态: ```bash sudo systemctl status redis # 输出应显示 "active (running)" ``` --- #### **四、常见问题排查** 1. **路径错误**: ```bash # 查看日志定位问题 journalctl -u redis.service -b --no-pager ``` 2. **权限问题**: ```bash # 检查数据目录和日志文件权限 sudo chmod 755 /var/log/redis.log ``` 3. **SELinux 限制**(可选): ```bash # 临时禁用 sudo setenforce 0 # 或创建 SELinux 策略 sudo audit2allow -a -M redispolicy < /var/log/audit/audit.log sudo semodule -i redispolicy.pp ``` --- #### **五、补充说明** | 配置项 | 作用 | | --- | --- | | `Type=simple` | 标准服务类型 | | `Restart=always` | 异常退出自动重启 | | `OOMScoreAdjust` | 降低被 OOM Killer 终止的概率 | --- ### 完整操作流程示例 ```bash # 步骤 1:创建服务文件 sudo tee /etc/systemd/system/redis.service <<'EOF' [Unit] Description=Redis Server After=network.target [Service] Type=forking ExecStart=/usr/local/bin/redis-server /etc/redis.conf ExecStop=/usr/local/bin/redis-cli shutdown Restart=always User=redis Group=redis [Install] WantedBy=multi-user.target EOF # 步骤 2:创建 Redis 用户 sudo groupadd -r redis && sudo useradd -r -g redis redis # 步骤 3:设置权限 sudo mkdir -p /var/lib/redis sudo chown redis:redis /var/lib/redis # 步骤 4:启用服务 sudo systemctl daemon-reload sudo systemctl enable --now redis ``` --- ### 通过 Yum 安装Redis 额外说明 如果通过 EPEL 仓库安装: ```bash sudo yum install -y epel-release sudo yum install -y redis # 直接使用预置服务文件 sudo systemctl enable redis ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值