Redis创建启停服务以及设置开机自启动
2018-01-24 14:56
661 查看
在完成redis配置以及可以正常启停之后,我们需要将redis做成服务
1.在redis根目录中找到utils文件夹,找到里边的redis_init_script文件,这个文件就是redis给咱们做的服务demo,我们可以略作修改其中的配置:
#!/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
;;
*)
echo "Please use start or stop as first argument"
;;
esac
如上图所示,这是redis自带的demo,但是有些配置需要我们重新进行配置:
#redis服务器监听的端口
REDISPORT=6379
#服务端所处位置,在make install后默认存放与`/usr/local/bin/redis-server`,如果未make install则需要修改该路径,下同。
EXEC=/usr/local/bin/redis-server
#客户端位置
CLIEXEC=/usr/local/bin/redis-cli
#Redis的PID文件位置,可以在redis.conf中的pidfile中指定目录
PIDFILE=/var/run/redis_${REDISPORT}.pid
#配置文件位置,需要修改
CONF="/etc/redis/redis.conf"好了,更改完这些配置,可以进行保存了,将其保存重命名redis6379保存至/etc/init.d目录下,就可以使用命令进行启停了
service redis6379 start
service redis6379 stop
使用service redis6379 stop时,如果你的redis.conf中的bind参数不是设置127.0.0.1或者加了密码,那么此处会报连接失败的错误,那么我们就需要修改一下脚本:
#首先定位到此处
$CLIEXEC -p $REDISPORT shutdown
然后我们需要对此行做一些修改:
#-h 为你的redis设置的ip,此处不加默认127.0.0.1
#-a 如果你设置了redis密码,此处需要加上,否则无法执行shutdown命令
$CLIEXEC -h $REDISHOST -p $REDISPORT -a $PASSWORD shutdown
同时在脚本上方添加两个自定义参数:
REDISHOST=xxxx.xxxx.xxxx.xxxx 你的bind中所配置的ip地址
PASSWORD=******** 你的redis密码
如果在启动时报:env: /etc/init.d/redis: Permission denied这个错误,则需要执行如下命令:
chmod a+x /etc/init.d/redis6379
那么现在可以正常启动停止服务了,接下来需要设置开机自启动:
此处直接配置开启自启动
在启动脚本开头添加如下两行注释以修改其运行级别:
#!/bin/sh
# chkconfig: 2345 90 10
# description: Redis is a persistent key-value database
#
ok,设置完此项配置后,reboot一下试试吧!
有时候,我们也需要用到哨兵模式,所以我们可以在脚本的启动语句中增添对哨兵的启动
首先增加两个自定义参数:
然后修改脚本
好了,配置完成后你的哨兵可以在你启动redis主服务时也可以同时启动了
1.在redis根目录中找到utils文件夹,找到里边的redis_init_script文件,这个文件就是redis给咱们做的服务demo,我们可以略作修改其中的配置:
#!/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
;;
*)
echo "Please use start or stop as first argument"
;;
esac
如上图所示,这是redis自带的demo,但是有些配置需要我们重新进行配置:
#redis服务器监听的端口
REDISPORT=6379
#服务端所处位置,在make install后默认存放与`/usr/local/bin/redis-server`,如果未make install则需要修改该路径,下同。
EXEC=/usr/local/bin/redis-server
#客户端位置
CLIEXEC=/usr/local/bin/redis-cli
#Redis的PID文件位置,可以在redis.conf中的pidfile中指定目录
PIDFILE=/var/run/redis_${REDISPORT}.pid
#配置文件位置,需要修改
CONF="/etc/redis/redis.conf"好了,更改完这些配置,可以进行保存了,将其保存重命名redis6379保存至/etc/init.d目录下,就可以使用命令进行启停了
service redis6379 start
service redis6379 stop
使用service redis6379 stop时,如果你的redis.conf中的bind参数不是设置127.0.0.1或者加了密码,那么此处会报连接失败的错误,那么我们就需要修改一下脚本:
#首先定位到此处
$CLIEXEC -p $REDISPORT shutdown
然后我们需要对此行做一些修改:
#-h 为你的redis设置的ip,此处不加默认127.0.0.1
#-a 如果你设置了redis密码,此处需要加上,否则无法执行shutdown命令
$CLIEXEC -h $REDISHOST -p $REDISPORT -a $PASSWORD shutdown
同时在脚本上方添加两个自定义参数:
REDISHOST=xxxx.xxxx.xxxx.xxxx 你的bind中所配置的ip地址
PASSWORD=******** 你的redis密码
如果在启动时报:env: /etc/init.d/redis: Permission denied这个错误,则需要执行如下命令:
chmod a+x /etc/init.d/redis6379
那么现在可以正常启动停止服务了,接下来需要设置开机自启动:
此处直接配置开启自启动
chkconfig redisd on将报错误:
service redisd does not support chkconfig
在启动脚本开头添加如下两行注释以修改其运行级别:
#!/bin/sh
# chkconfig: 2345 90 10
# description: Redis is a persistent key-value database
#
ok,设置完此项配置后,reboot一下试试吧!
有时候,我们也需要用到哨兵模式,所以我们可以在脚本的启动语句中增添对哨兵的启动
首先增加两个自定义参数:
SENCONF=/etc/redis/sentinel.conf 你的sentinel.conf所在地址 SENEXEC=/usr/local/bin/redis-sentinel
然后修改脚本
echo "Starting Redis server..." $EXEC $CONF echo "Redis already started!" #以下为新增 $SENEXEC $SENCONF echo "Redis Sentinel already started!"
好了,配置完成后你的哨兵可以在你启动redis主服务时也可以同时启动了
相关文章推荐
- Ubuntu安装Redis并设置为开机自启动服务
- linux搭建redis服务设置开机自启动 service命令stop、start启动停止服务
- Centos7 nginx的安装以及开机自启动的设置
- redis 安装并设置为开机启动服务
- Linux中设置服务开机自启动的三种方式
- 设置服务开机自启动
- 设置开机自启动服务
- CentOS设置开机自启动服务的两种方法
- 树莓派系统(Debain)中设置SSH服务开机自启动
- redis开机自动启动服务设置
- Centos 7安装及设置redis自定义服务开机启动
- centos设置服务开机自启动
- Linux 开机自启动自己创建的服务的方法
- linux上将nginx,redis,mysql设置成服务并自启动
- 手把手教你如何将tomcat设置成开机自启动后台服务
- centos设置开机自启动服务
- 如何在阿里云服务上设置 redis 开机自启问题
- [镜像制作]Ubuntu设置iserver服务开机自启动
- LINUX开机自启动redis服务