centos7 redis 重启_linux centOS7 设置 redis 开机启动

本文介绍了如何在CentOS7上安装Redis并设置其开机启动。首先,修改redis.conf文件以使服务作为守护进程运行,并关注daemonize和pidfile设置。接着,利用redis_init_script脚本来管理启动、停止和重启操作,确保路径和配置正确。然后,将启动脚本复制到/etc/init.d目录下,并进行必要的修改以支持chkconfig。最后,通过chkconfig设置Redis开机启动,并使用service命令管理Redis服务的启动和停止。

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

1.为了让redis-server能在系统启动时自动运行,需要将redis服务作为守护进程(daemon)来运行,我们回/usr/local/cluster/7000/目录中找到一个redis.conf的文件,这个文件是redis服务运行时加载的配置,我们先观察一下其中的内容

[root@192 7000]# vi redis.conf

输入/daemonize

此文件内容非常长,但是大部分是注释,我们重点关注其中的几个设置daemonize和pidfile:

其中daemonize默认值是false,pidfile默认值是pidfile /var/run/redis_6379.pid

第一个表示是否daemon化,显然我们要把它改成daemonize yes;

第二个表示当服务以守护进程方式运行时,redis默认会把pid写入/var/run/redis_6379.pid文件,服务运行中该文件就存在,服务一旦停止该文件就自动删除,因而可以用来判断redis是否正在运行。

保存后退出。

有了基本配置,redis还需要有一个管理启动、关闭、重启的一个脚本。redis源码里其实已经提供了一个初始化脚本,

位值在/usr/redis/utils/redis_init_script。

我们来看看这个脚本做了些什么:

#!/bin/sh#

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 ..."

$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

脚本中指定了端口、server路径、cli路径、pidfile路径以及conf路径,上述标黄的地方都需要正确配置,多说一句,如果在安装时执行了make install,那么这里的脚本不需要做多大改动,因为make install把server和cli都拷到/usr/local/bin下面了。

我的脚本

***

2.设置启动文件配置,进入7000的根目录

cd /usr/local/cluster/7000

mkdir /etc/redis

cp redis.conf /etc/redis/7000.conf

***

3.将启动脚本复制到/etc/init.d目录下,本例将启动脚本命名为redis (复制 /usr/local/cluster/7000/utils/redis_init_script文件)

cp redis_init_script /etc/init.d/redis

按照第一点说的修改redis文件、注意增加了chkconfig和description两行 不然会提示 服务 redisd 不支持 chkconfig ?

***

#!/bin/sh

#

# Simple Redis init.d script conceived to work on Linux systems

# as it does use of the /proc filesystem.

# chkconfig: 2345 90 10

# description: Redis is a persistent key-value database

REDISPORT=7000

EXEC=/usr/local/cluster/7000/src/redis-server

CLIEXEC=/usr/local/cluster/7000/src/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)

编辑完保存就OK了

***

4.#设置为开机自启动服务器

chkconfig redis on

#打开服务

service redis start

#关闭服务

service redis stop

***

5.重启 reboot

执行ps指令,查看redis 7000端口已经启动

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值