利用supervisor替换redis自带的守护

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_40238625/article/details/78992310
  • 使用中发现有redis-server停止后未重启的情况
  • redis本身自带daemon,可查看redis自身配置文件:
################################ GENERAL  #####################################

# By default Redis does not run as a daemon. Use 'yes' if you need it.
# Note that Redis will write a pid file in /var/run/redis.pid when daemonized.
daemonize yes
1.使用中发现redis挂掉后并没有自动重启,自身守护未起作用;
2.在未将redis配置的守护开关(daemonize yes)关闭的情况下,利用supervisor创建对redis的守护时,会引起冲突,可查看supervisor日志发现:    tail -f -n 200 /var/log/supervisor/supervisord.log
2017-05-27 15:36:30,258 INFO gave up: redis-server entered FATAL state, too many start retries too quickly
2017-05-27 15:40:30,170 INFO spawned: 'redis-server' with pid 48565
2017-05-27 15:40:30,179 INFO exited: redis-server (exit status 0; not expected)
2017-05-27 15:40:31,550 INFO spawned: 'redis-server' with pid 48573
2017-05-27 15:40:31,557 INFO exited: redis-server (exit status 0; not expected)
2017-05-27 15:40:34,431 INFO spawned: 'redis-server' with pid 48589
2017-05-27 15:40:34,438 INFO exited: redis-server (exit status 0; not expected)
2017-05-27 15:40:37,443 INFO spawned: 'redis-server' with pid 48591
2017-05-27 15:40:37,450 INFO exited: redis-server (exit status 0; not expected)
2017-05-27 15:40:38,451 INFO gave up: redis-server entered FATAL state, too many start retries too quickly
这是由于supervisor和redis自身守护冲突引起。
3.修改redis配置中的 daemonize yesno,关闭自身守护,改用supervisor执行守护;
4.kill正在后台运行的redis-server;
5.supervisorctl update ;
6.supervisorctl start redis-server;
7.相关链接:
        http://www.cnblogs.com/yjf512/archive/2012/03/05/2380496.html
        http://blog.csdn.net/win_turn/article/details/60466562
 
另:在用supervisor启动redis前需要先kill掉redis的进程,否则启动失败。

猜你喜欢

转载自blog.csdn.net/weixin_40238625/article/details/78992310