Linux中设置Redis开机启动的方法

yizhihongxing

下面我将为您详细讲解“Linux中设置Redis开机启动的方法”的完整攻略,以下是具体步骤:

1. 编写Redis启动脚本

/etc/init.d/目录下新建一个名为redis的文件,这个文件就是我们的启动脚本,使用以下命令:

sudo vim /etc/init.d/redis

然后把以下代码粘贴进去:

#!/bin/sh
# chkconfig: 2345 95 05
# description: Redis is a persistent key-value database

REDISPORT=6379
EXEC=/usr/local/bin/redis-server
CLIEXEC=/usr/local/bin/redis-cli

PIDFILE=/var/run/redis_${REDISPORT}.pid
CONF="/etc/redis/${REDISPORT}.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 Redis server..."
                $CLIEXEC -p $REDISPORT shutdown
                while [ -x /proc/${PID} ]
                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

exit 0

在这段代码中,我们定义了启动Redis所需的一些变量以及需要执行的指令,可以根据自己的实际情况调整相关的参数和路径。

2. 赋予脚本权限

在安装好Redis之后,需要把这个启动脚本设置为可执行文件,并赋予它相应的权限。使用以下命令:

sudo chmod 755 /etc/init.d/redis

3. 使Redis自动启动

使用以下命令将Redis设置为自动启动:

sudo chkconfig --add redis

这个命令会自动将Redis添加到启动项中,达到自动启动的目的。当需要关闭自启动时,使用以下命令:

sudo chkconfig --del redis

4. 演示

以下是两个实例说明:

示例1:CentOS 7

假设我们的Redis安装位置是 /usr/local/bin/redis-server,配置文件位置是 /etc/redis/redis.conf。我们可以使用以下命令来演示如何使Redis自动启动:

sudo vim /etc/init.d/redis

将以下代码复制进去:

#!/bin/bash

REDISPORT=6379
EXEC=/usr/local/bin/redis-server
CLIEXEC=/usr/local/bin/redis-cli
PIDFILE=/var/run/redis_${REDISPORT}.pid
CONF="/etc/redis/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 Redis server..."
                $CLIEXEC -p $REDISPORT shutdown
                while [ -x /proc/${PID} ]
                do
                    echo "Waiting for Redis to shutdown ..."
                    sleep 1
                done
                echo "Redis stopped"
        fi
        ;;
    restart)
        ${0} stop
        ${0} start
        ;;
    *)
        echo "Usage: $0 {start|stop|restart}" >&2
        exit 1
esac

exit 0

接下来,使脚本可执行并且加入启动项:

sudo chmod 755 /etc/init.d/redis
sudo chkconfig --add redis
sudo chkconfig redis on

现在,重启系统,你会发现Redis已经自动启动了。

示例2:Ubuntu 16.04

假设我们的Redis安装位置是 /usr/bin/redis-server,配置文件位置是 /etc/redis/redis.conf。我们可以使用以下命令来演示如何使Redis自动启动:

首先,在/etc/init.d/目录下新建一个名为redis的文件:

sudo vim /etc/init.d/redis

将以下代码复制进去:

#! /bin/sh
### BEGIN INIT INFO
# Provides:             redis-server
# Required-Start:       $syslog $remote_fs
# Required-Stop:        $syslog $remote_fs
# Should-Start:         $local_fs
# Should-Stop:          $local_fs
# Default-Start:        2 3 4 5
# Default-Stop:         0 1 6
# Short-Description:    redis-server - Persistent key-value db
# Description:          redis-server - Persistent key-value db
### END INIT INFO

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/bin/redis-server
DAEMON_ARGS=/etc/redis/redis.conf
NAME=redis-server
DESC=redis-server

RUNDIR=/var/run/redis
PIDFILE=$RUNDIR/redis.pid

test -x $DAEMON || exit 0

set -e

case "$1" in
  start)
    echo -n "Starting $DESC: "

    mkdir -p $RUNDIR
    touch $PIDFILE
    chown redis:redis $RUNDIR $PIDFILE
    chmod 755 $RUNDIR

    if [ -f $PIDFILE ]
    then
        echo "already running."
        exit 1
    fi

    # Protect against redis.conf changing in meantime
    mkdir -p /var/lock/subsys
    touch /var/lock/subsys/$NAME

    $DAEMON $DAEMON_ARGS --pidfile $PIDFILE &

    echo "started."
    ;;
  stop)
    echo -n "Stopping $DESC: "

    if [ ! -f $PIDFILE ]
    then
        echo "not running."
        exit 0
    fi

    rm -f /var/lock/subsys/$NAME

    $DAEMON $DAEMON_ARGS --pidfile $PIDFILE --stop

    echo "stopped."
    ;;
  restart|force-reload)
    ${0} stop
    sleep 1
    ${0} start
    ;;
  *)
    echo "Usage: /etc/init.d/$NAME {start|stop|restart|force-reload}" >&2
    exit 1
    ;;
esac

exit 0

接下来,使脚本可执行并且加入启动项:

sudo chmod 755 /etc/init.d/redis
sudo update-rc.d redis defaults

现在,重启系统,你会发现Redis已经自动启动了。

以上就是在Linux上设置Redis开机启动的全部攻略,希望可以帮到您。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Linux中设置Redis开机启动的方法 - Python技术站

(0)
上一篇 2023年5月22日
下一篇 2023年5月22日

相关文章

  • Linux下Oracle删除用户和表空间的方法

    以下是关于“Linux下Oracle删除用户和表空间的方法”的完整攻略: 删除用户 步骤一:首先需要连接到Oracle数据库 在Linux终端执行以下命令: $ sqlplus / as sysdba 步骤二:确认该用户是否存在 执行以下命令查询: SQL> select * from dba_users where username='<use…

    database 2023年5月22日
    00
  • 超详细汇总21个值得收藏的mysql优化实践

    超详细汇总21个值得收藏的MySQL优化实践 在MySQL的使用过程中,优化是非常重要的一个环节。在优化过程中,涉及到的方面包括数据结构、数据库架构、查询语句优化等多个方面。下面将对21个值得收藏的MySQL优化实践进行超详细汇总: 优化架构 1. 数据库服务器的设置 MySQL服务器的设置对于整个数据库的性能有很大的影响。可以进行以下设置优化:- 修改缓存…

    database 2023年5月19日
    00
  • CentOS 7下安装 redis 3.0.6并配置集群的过程详解

    下面是“CentOS 7下安装 redis 3.0.6并配置集群的过程详解”的完整攻略: 1. 安装 Redis 首先需要安装 Redis。在 CentOS 7 下可以使用 yum 包管理器来安装 Redis。 sudo yum install redis 安装完成后,可以使用下面的命令来启动 Redis 服务: sudo systemctl start r…

    database 2023年5月22日
    00
  • PHP7.3.4安装redis扩展

    1、本地redis的安装        https://blog.csdn.net/pyp_demon/article/details/106571229 2、下载php7.3 对应的redis 扩展dll 文件       https://windows.php.net/downloads/pecl/snaps/redis/4.2.0/ 3、将php_re…

    Redis 2023年4月12日
    00
  • Node.js 应用跑得更快 10 个技巧

    下面是关于“Node.js 应用跑得更快 10 个技巧”的完整攻略: 1. 使用 Node.js 版本管理器 使用 Node.js 版本管理器可以方便快速地在不同的环境下运行 Node.js 应用程序。常用的版本管理器有 nvm、n、nvs 等。它们都可以帮助你在不同的 Node.js 版本之间切换,并保证你的应用程序在不同的机器上运行一致。 示例: # 安…

    database 2023年5月22日
    00
  • Java 如何通过JDBC 操作数据库

    JDBC 是Java 数据库连接,即 Java DataBase Connectivity。JDBC 可让Java 通过程序操作关系型数据库,可基于驱动程序实现与数据库的连接与操作。JDBC 有统一的API ,提供一致的开发过程。其功能强大,执行效率高,可处理海量数据。 开发准备 在Navicat 中新建一个数据库,注意字符集 的选择,如下图所示: 然后运行…

    MySQL 2023年4月11日
    00
  • Mysql5.7.18版本(二进制包安装)自定义安装路径教程详解

    以下是“Mysql5.7.18版本(二进制包安装)自定义安装路径教程详解”的完整攻略: 准备工作 首先需要下载 MySQL5.7.18 的二进制包,可以到官网下载:https://dev.mysql.com/downloads/mysql/5.7.html#downloads 然后解压缩,得到一个名为 mysql-5.7.18-linux-glibc2.5-…

    database 2023年5月22日
    00
  • SQL 修改表

    下面是SQL 修改表的完整攻略。 先了解修改表的语法 在SQL中,修改表的语法包括:ALTER TABLE 操作类型 操作语句。 操作语句可以是ADD(添加字段)、DROP(删除字段)、MODIFY(修改字段类型)以及其他一些操作。 实例1:添加一个字段 假设我们有一个名为students的表,现在需要添加一个新的字段age,类型为INT。 我们可以使用如下…

    database 2023年3月27日
    00
合作推广
合作推广
分享本页
返回顶部