Для того чтобы сервис Redis запускался автоматически при перезагрузке сервера необходимо сделать его подсистемой (Subsystem) и добавить в список сервисов chkconfig.
Посмотрим для начала на скрипт инициализации Redis. Тот самый, который при установке мы скопировали в папку /etc/init.d/. В нашем случае это будет /etc/init.d/redis_6379.
#!/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
Первое что нужно сделать, это добавить в этот скрипт несколько строк в виде комментариев.
#!/bin/sh # # Simple Redis init.d script conceived to work on Linux systems # as it does use of the /proc filesystem. # # chkconfig: 345 85 15 # description: Redis is a persistent key-value database # # processname: redis_6379 # config: /etc/redis/6379.conf # pidfile: /var/run/redis_6379.pid
Надеюсь строки processname, config и pidfile пояснений не требуют. А вот параметры chkconfig могут быть интересны.
Итак, что же значит chkconfig: 345 85 15?
Первая группа цифр (345) означает уровни запуска (runlevels) данного сервиса. В принципе, для вебсервера достаточно лишь третьего уровня.
Цифра 85 означает приоритет запуска. Чем выше число тем ниже приоритет. Т.е. 85 - это значит что данный сервис будет запущен одним из последних.
Цифра 15 означает приоритет деактивации. По той же логике, чем ниже цифра, тем выше приоритет. Т.е. в нашем случае Redis будет остановлен одним из первых.
И теперь остается последний шаг, добавить сам сервис Redis в список сервисов и установить ему уровень запуска.
# chkconfig --add redis_6379 # chkconfig --level 3 redis_6379 on
Вот, собственно и вся наука.
Теперь для запуска или остановки сервиса Redis в Linux CentOS можно использовать следующую команду
service redis_6379 stop service redis_6379 start
Комментариев нет :
Отправить комментарий