下面是 CentOS 下配置 Redis 开机启动脚本的完整攻略。
步骤1:下载并安装 Redis
首先需要下载并安装 Redis,可以到 Redis 官网(https://redis.io/download)下载对应版本的 Redis,解压到指定目录,然后使用 make 命令进行编译和安装即可,具体步骤如下:
# 下载 Redis 5.0.8
wget http://download.redis.io/releases/redis-5.0.8.tar.gz
# 解压
tar -zxvf redis-5.0.8.tar.gz
# 进入解压后的目录
cd redis-5.0.8
# 编译并安装
make && make install
步骤2:创建 Redis 配置文件
接下来需要创建 Redis 的配置文件,可以在 Redis 源码包中找到一个默认的配置文件 redis.conf,可以将其复制到/etc目录下,并进行一些必要的修改,比如修改服务端口号等。具体步骤如下:
# 进入 Redis 目录
cd redis-5.0.8
# 复制配置文件到 /etc 目录下
cp redis.conf /etc/redis.conf
# 修改配置文件,比如修改服务端口号为 6379
vim /etc/redis.conf
# 将以下内容更改为:
# bind 127.0.0.1
# protected-mode yes
# port 6379
步骤3:创建 Redis 启动脚本
Redis 的启动脚本可以自己手动编写,也可以使用系统提供的 init.d 脚本。这里我们使用系统提供的脚本,具体步骤如下:
在 CentOS 中,需要使用 chkconfig 命令开启并管理系统服务,所以需要创建对应的启动脚本 /etc/init.d/redis,将以下代码复制到文件中:
#!/bin/sh
#
# redis - this script starts and stops the redis-server daemon
#
# chkconfig: - 85 15
# description: Redis is a persistent key-value database
# processname: redis-server
# config: /etc/redis.conf
# pidfile: /var/run/redis.pid
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ $NETWORKING = "no" ] && exit 0
redis="/usr/local/bin/redis-server"
prog=$(basename $redis)
REDIS_CONF_FILE="/etc/redis.conf"
[ -f /etc/sysconfig/redis ] && . /etc/sysconfig/redis
lockfile=/var/lock/subsys/redis
start() {
[ -x $redis ] || exit 5
[ -f $REDIS_CONF_FILE ] || exit 6
echo -n $"Starting $prog: "
daemon $redis $REDIS_CONF_FILE --daemonize yes
retval=$?
echo
[ $retval -eq 0 ] && touch $lockfile
return $retval
}
stop() {
echo -n $"Stopping $prog: "
killproc $prog -QUIT
retval=$?
echo
[ $retval -eq 0 ] && rm -f $lockfile
return $retval
}
restart() {
stop
start
}
reload() {
echo -n $"Reloading $prog: "
killproc $redis -HUP
RETVAL=$?
echo
}
force_reload() {
restart
}
rh_status() {
status $prog
}
rh_status_q() {
rh_status >/dev/null 2>&1
}
case "$1" in
start)
rh_status_q && exit 0
$1
;;
stop)
rh_status_q || exit 0
$1
;;
restart)
$1
;;
reload)
$1
;;
force-reload)
force_reload
;;
status)
rh_status
;;
condrestart|try-restart)
rh_status_q || exit 0
;;
*)
echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"
exit 2
esac
在执行这个脚本前,需要确保文件有可执行权限。
# 给启动脚本设置可执行权限
chmod +x /etc/init.d/redis
步骤4:添加 Redis 启动设置
启动服务脚本已经准备好了,接下来需要添加到系统启动设置中,并设置启动级别,使 Redis 在系统启动时自动启动,命令如下:
# 添加自定义服务
chkconfig --add redis
# 设定服务启动级别,在3,5级别启动并运行
chkconfig --level 35 redis on
示例1:启动 Redis 并在系统启动时自动启动
执行以下命令启动 Redis 并在系统启动时自动启动:
# 启动 Redis 服务
service redis start
# 查看 Redis 服务状态
service redis status
示例2:停止 Redis 并禁用开机启动
如果想停止 Redis 并禁用开机启动,可以执行以下命令:
# 停止 Redis 服务
service redis stop
# 在系统启动时禁用 Redis 服务
chkconfig --del redis
以上是 CentOS 下配置 Redis 开机启动脚本的完整攻略和两条示例说明。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Centos下配置Redis开机启动脚本 - Python技术站