【redis】Linux开机自启动

本文详细介绍了一种在Linux环境下配置Redis服务启动脚本的方法,包括脚本的编写、权限设置及自启动服务的添加。通过该脚本,可以实现Redis服务的启动、停止和重启操作,同时提供了设置密码和监听端口的功能。

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

安装教程猛击这里
安装环境:redis安装目录:/usr/local/redis
直接步入正题
vim /etc/init.d/redis

以下是启动脚本

#!/bin/sh
# chkconfig: 2345 80 90  
# description: Start and Stop redis   

#PATH=/usr/local/bin:/sbin:/usr/bin:/bin   
REDISPORT=6379
# 根据自己redis实际安装路径来配置
EXEC=/usr/local/redis/src/redis-server
REDIS_CLI=/usr/local/redis/src/redis-cli

PIDFILE=/var/run/redis_6379.pid
# 根据自己redis实际安装路径来配置
CONF=/usr/local/redis/redis.conf
# redis密码
AUTH="zhaoyoung"

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
                if [ "$?"="0" ]
                then
                        echo "Redis is running..."  
                fi
                ;;
        stop)
                if [ ! -f $PIDFILE ]
                then
                        echo "$PIDFILE exists, process is not running."  
                else
                        PID=$(cat $PIDFILE)
                        echo "Stopping..."  
                       $REDIS_CLI -a $AUTH -p $REDISPORT  SHUTDOWN
                        sleep 2
                       while [ -x $PIDFILE ]   
                       do
                                echo "Waiting for Redis to shutdown..."  
                               sleep 1
                        done
                        echo "Redis stopped"  
                fi
                ;;
        restart|force-reload)
                ${0} stop
                ${0} start
                ;;
        *)
               echo "Usage: /etc/init.d/redis {start|stop|restart|force-reload}" >&2
                exit 1
esac

设置权限

chmod 777 /etc/init.d/redis 

添加自启动服务

chkconfig --add redis

设置为开机自启动

chkconfig redis on

测试下

[root@localhost /]# service redis start
Starting Redis server...
Redis is running...

[root@localhost /]# ps -ef | grep redis
root      39594      1  0 17:20 ?        00:00:00 /usr/local/redis/src/redis-server 127.0.0.1:6379

[root@localhost /]# cd /usr/local/redis/
[root@localhost redis]# ./bin/redis-cli 
127.0.0.1:6379> auth zhaoyoung
OK
127.0.0.1:6379> set name zhaoyoung
OK
127.0.0.1:6379> get name
"zhaoyoung"

### 配置 RedisLinux 系统中实现开机自动启动 #### 使用 Systemd 创建服务文件 为了使 Redis 能够在 Linux 系统启动时自动运行,可以通过创建 systemd 服务文件来完成这一目标。具体操作如下: 编辑一个新的系统服务文件 `vi /etc/systemd/system/redis.service`[^1]。 该服务文件的内容通常类似于下面的例子: ```ini [Unit] Description=Redis In-Memory Data Store After=network.target [Service] User=redis Group=redis ExecStart=/usr/local/bin/redis-server /etc/redis.conf ExecStop=/usr/local/bin/redis-cli shutdown Restart=always [Install] WantedBy=multi-user.target ``` 保存并关闭文件之后,执行以下命令以重新加载 systemd 并启用此新服务以便于下次重启时激活它: ```bash sudo systemctl daemon-reload sudo systemctl enable redis.service ``` #### 利用 chkconfig 工具管理服务状态 (适用于某些版本) 对于特定发行版如 CentOS 8, 可能会使用到 `chkconfig` 命令来进行初始化脚本的状态切换。例如,要开启 Redis 的随系统启动功能,则可输入如下指令: ```bash sudo chkconfig redis_init_script on ``` 这将会把名为 "redis_init_script" 的 init script 添加至系统的默认 runlevel 中去[^2]。 #### 编写 Init Script 方式 另一种方法是在 `/etc/init.d/` 下建立一个用于控制 Redis 启动停止的 shell 脚本,并确保其具有可执行权限。同时,在配置文件里设定 `daemonize yes`, 这样可以让 Redis 以后台进程的形式工作[^3]。 最后一步是更新 rc 文件链接从而允许程序随着计算机一起启动: ```bash update-rc.d redis defaults ``` 以上三种方式都可以有效地让 Redis 实现在 Linux 上面的开机自启特性,选择其中一种适合当前环境的方式即可达成目的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值