Centos7 Redis 3.2.0 开机启动

本文介绍了一种在Linux系统上配置Redis服务器开机自启动的方法。通过编写和设置一个bash脚本,实现Redis服务的启动、停止操作,并确保系统重启后能够自动运行该服务。文章还提供了测试Redis服务是否正常工作的步骤。

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

开机自启动脚本

vi /etc/init.d/redis

脚本内容:

#!/bin/bash
#chkconfig: 2345 80 90
# Simple Redis init.d script conceived to work on Linux systems
# as it does use of the /proc filesystem.

REDISPORT=6379
EXEC=/home/redis-3.2.0/src/redis-server
CLIEXEC=/home/redis-3.2.0/src/redis-cli

PIDFILE=/var/run/redis.pid
CONF="/home/redis-3.2.0/redis.conf"

case "$1" in
    start)
        if [ -f $PIDFILE ]
        then
                echo "$PIDFILE exists, process is already running or crashed"
        else
                echo "Starting Redis server..."
                $EXEC $CONF &
        fi
        ;;
    stop)
        if [ ! -f $PIDFILE ]
        then
                echo "$PIDFILE does not exist, process is not running"
        else
                PID=$(cat $PIDFILE)
                echo "Stopping ..."
                $CLIEXEC -p $REDISPORT shutdown
                while [ -x /proc/${PID} ]
                do
                    echo "Waiting for Redis to shutdown ..."
                    sleep 1
                done
                echo "Redis stopped"
        fi
        ;;
    *)
        echo "Please use start or stop as first argument"
        ;;
esac


设置权限:

chmod 755 redis

测试是否正常:

/etc/init.d/redis start

使用redis-cli测试:

$ /home/redis-3.2.0/src/redis-cli -h 127.0.0.1 -p 6379 -a foobared  
127.0.0.1:6379> set testname zhangsan  
OK  
127.0.0.1:6379> get testname  
"zhangsan"  
  
$ quit; 


设置开机自启动

chkconfig redis on

重启测试

reboot


<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 <<&#39;EOF&#39; [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、付费专栏及课程。

余额充值