将redis注册成系统服务

清疚 2022-06-02 04:25 382阅读 0赞

1.修改redis.conf

设置redis后台启动

  1. daemonize yes

2.编写shell脚本vi /etc/init.d/redisd

  1. #!/bin/sh
  2. #chkconfig: 2345 10 90
  3. #description: Startup and stop script for Redis
  4. PATH=/usr/local/bin:/sbin:/usr/bin:/bin
  5. REDISPORT_1=7000
  6. REDISPORT_2=7001
  7. REDISPORT_3=7002
  8. REDISPORT_4=7003
  9. REDISPORT_5=7004
  10. REDISPORT_6=7005
  11. REDISPORTS=($REDISPORT_1 $REDISPORT_2 $REDISPORT_3 $REDISPORT_4 $REDISPORT_5 $REDISPORT_6)
  12. EXEC=/usr/local/redis/bin/redis-server
  13. REDIS_CLI=/usr/local/redis/bin/redis-cli
  14. PIDFILE_1=/var/run/redis_7000.pid
  15. PIDFILE_2=/var/run/redis_7001.pid
  16. PIDFILE_3=/var/run/redis_7002.pid
  17. PIDFILE_4=/var/run/redis_7003.pid
  18. PIDFILE_5=/var/run/redis_7004.pid
  19. PIDFILE_6=/var/run/redis_7005.pid
  20. PIDFILES=($PIDFILE_1 $PIDFILE_2 $PIDFILE_3 $PIDFILE_4 $PIDFILE_5 $PIDFILE_6)
  21. CONF_1=/usr/local/redis/etc/redis_7000.conf
  22. CONF_2=/usr/local/redis/etc/redis_7001.conf
  23. CONF_3=/usr/local/redis/etc/redis_7002.conf
  24. CONF_4=/usr/local/redis/etc/redis_7003.conf
  25. CONF_5=/usr/local/redis/etc/redis_7004.conf
  26. CONF_6=/usr/local/redis/etc/redis_7005.conf
  27. CONFS=($CONF_1 $CONF_2 $CONF_3 $CONF_4 $CONF_5 $CONF_6)
  28. case "$1" in
  29. start)
  30. i=0
  31. for PID in ${PIDFILES[@]}
  32. do
  33. if [ -e $PID ]
  34. then
  35. echo "$PID has exist, process is running"
  36. else
  37. echo "$PID Start ..."
  38. $EXEC ${CONFS[i]}
  39. fi
  40. if [ "$?" == "0" ]
  41. then
  42. echo "$PID is running"
  43. else
  44. echo "$PID is failed to start"
  45. fi
  46. let i++
  47. done
  48. ;;
  49. stop)
  50. i=0
  51. for PID in ${PIDFILES[@]}
  52. do
  53. if [ ! -e $PID ]
  54. then
  55. echo "$PID does not exist, process is not running"
  56. else
  57. echo "$PID Stoping ..."
  58. $REDIS_CLI -p ${REDISPORTS[i]} SHUTDOWN
  59. sleep 2
  60. while [ -e $PID ]
  61. do
  62. echo "Waiting for Redis to shutdown ..."
  63. sleep 1
  64. done
  65. echo "$PID stopped"
  66. fi
  67. let i++
  68. done
  69. ;;
  70. restart)
  71. ${0} stop
  72. ${0} start
  73. ;;
  74. *)
  75. echo "Usage: /etc/init.d/redis {start|stop|restart}" >&2
  76. exit 1
  77. esac

1,$1:执行命令的第一个参数,例如/etc/init.d/redis start,start就是第一个参数
2,${0}:文件所在路径,例如文件所在路径为/etc/init.d/redis,那么${0}的值就是该路径
3,脚本要放在 /etc/init.d/ 下,不然执行server redis … 的命令会提示找不到redis

添加执行权限

  1. chmod +x /etc/init.d/redis

启动服务

  1. service redis start

设置开机启动

  1. chkconfig redis on
  2. chkconfig --add redis

发表评论

表情:
评论列表 (有 0 条评论,382人围观)

还没有评论,来说两句吧...

相关阅读