一、研究Redis的安装路径
Redis是一款基于内存的缓存数据库,安装路径可以根据具体的环境有所不同。以Ubuntu系统为例,可以用以下命令查询:
which redis-server
该命令会输出Redis的安装路径,例如:
/usr/local/bin/redis-server
在实际设置开机启动时,需要用到该路径。
二、编写启动脚本
为了实现Redis开机启动,我们需要编写一个脚本,该脚本会在启动时自动运行并启动Redis服务。
对于Ubuntu系统,可以在/etc/init.d/
目录下创建一个redis
文件,然后将以下代码复制进去:
#!/bin/sh
#
# Simple Redis init.d script conceived to work on Linux systems
# as it does use of the /proc filesystem.
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
;;
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服务,以及对应的进程文件会存储在/var/run/redis_[port].pid
中。
三、添加脚本到开机启动项
为了使Redis服务在开机时启动,需要将上一步中编写的启动脚本添加到开机启动项中。 以Ubuntu系统为例,可以使用以下命令添加:
sudo update-rc.d redis defaults
该命令会将/etc/init.d/redis
文件添加到开机默认的启动项中,从而实现开机自动启动Redis服务。
四、检查Redis服务状态
在上述操作完成后,可以使用以下命令检查Redis服务是否正常运行:
sudo service redis status
该命令会输出Redis服务的状态信息,例如:
● redis.service - Redis In-Memory Data Store
Loaded: loaded (/lib/systemd/system/redis.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2019-06-10 16:57:31 CST; 5s ago
Docs: http://redis.io/documentation,
man:redis-server(1)
Process: 11472 ExecStop=/usr/bin/redis-cli shutdown (code=exited, status=0/SUCCESS)
Main PID: 11481 (redis-server)
Tasks: 4
Memory: 462.0K
CPU: 31ms
CGroup: /system.slice/redis.service
└─11481 /usr/local/bin/redis-server 127.0.0.1:6379
如果输出的状态是active (running)
,则说明Redis服务正常运行。