Centos开机自启动redis

原创
2014/02/04 12:55
阅读数 3.4W
  • 修改redis.conf,打开后台运行选项:
# 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
  • 编写脚本,vim /etc/init.d/redis:
# chkconfig: 2345 10 90
# description: Start and Stop redis

PATH=/usr/local/bin:/sbin:/usr/bin:/bin

REDISPORT=6379 #实际环境而定
EXEC=/usr/local/redis/src/redis-server #实际环境而定
REDIS_CLI=/usr/local/redis/src/redis-cli #实际环境而定

PIDFILE=/var/run/redis.pid
CONF="/usr/local/redis/redis.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
                if [ "$?"="0" ]
                then
                        echo "Redis is running..."
                fi
                ;;
        stop)
                if [ ! -f $PIDFILE ]
                then
                        echo "$PIDFILE exists, process is not running."
                else
                        PID=$(cat $PIDFILE)
                        echo "Stopping..."
                        $REDIS_CLI -p $REDISPORT SHUTDOWN
                        while [ -x $PIDFILE ]
                        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
  • 执行权限:
chmod +x /etc/init.d/redis
  • 开机自启动:
# 尝试启动或停止redis
service redis start
service redis stop

# 开启服务自启动
chkconfig redis on
收工.
展开阅读全文
打赏
5
41 收藏
分享
加载中
Nice shoot !
2015/10/08 15:13
回复
举报
赞一个
2015/05/29 16:11
回复
举报
大神,你好,请问,这里不需要把redis配置成服务吗?比如执行:chkconfig --add redis
2014/08/14 14:35
回复
举报
ihaolin博主

引用来自“叶叶-yuky”的评论

还发现一个问题,在运行service redis stop的时候,会报错,/etc/init.d/redis: line 35: PIDFILE: command not found
Waiting for Redis to shutdown...其实这个时候redis已经停止了,但是这个错误会一直报下去,请问博主能完善一下脚本吗?因为我不懂shell编程,只知道哪有问题,但是无从下手13

引用来自“jonny77”的评论

我也遇到同样的问题....
对的,stop中的while [ -x $(PIDFILE) ]改成 while [ -x $PIDFILE ],不好意思跟你带来如此大的困扰。
2014/08/05 00:41
回复
举报
ihaolin博主

引用来自“叶叶-yuky”的评论

还发现一个问题,在运行service redis stop的时候,会报错,/etc/init.d/redis: line 35: PIDFILE: command not found
Waiting for Redis to shutdown...其实这个时候redis已经停止了,但是这个错误会一直报下去,请问博主能完善一下脚本吗?因为我不懂shell编程,只知道哪有问题,但是无从下手13
对的,stop中的while [ -x $(PIDFILE) ]改成 while [ -x $PIDFILE ],不好意思跟你带来如此大的困扰。
2014/08/05 00:41
回复
举报
ihaolin博主

引用来自“叶叶-yuky”的评论

不知道博主是不是写掉了一些东西,我按照博主的方法在CentOS7上还是无法开机启动,百度了一下,编辑了redis的配置文件,将里面的daemonize no改为daemonize yes后就成功了,不知道我是不是个别现象
对的,需要打开redis.conf的后台运行选项,已加上。
2014/08/04 22:55
回复
举报

引用来自“叶叶-yuky”的评论

还发现一个问题,在运行service redis stop的时候,会报错,/etc/init.d/redis: line 35: PIDFILE: command not found
Waiting for Redis to shutdown...其实这个时候redis已经停止了,但是这个错误会一直报下去,请问博主能完善一下脚本吗?因为我不懂shell编程,只知道哪有问题,但是无从下手13
我也遇到同样的问题....
2014/08/01 18:07
回复
举报
还发现一个问题,在运行service redis stop的时候,会报错,/etc/init.d/redis: line 35: PIDFILE: command not found
Waiting for Redis to shutdown...其实这个时候redis已经停止了,但是这个错误会一直报下去,请问博主能完善一下脚本吗?因为我不懂shell编程,只知道哪有问题,但是无从下手13
2014/08/01 16:37
回复
举报
还发现一个问题,在运行service redis stop的时候,会报错,/etc/init.d/redis: line 35: PIDFILE: command not found
Waiting for Redis to shutdown...其实这个时候redis已经停止了,但是这个错误会一直报下去,请问博主能完善一下脚本吗?因为我不懂shell编程,只知道哪有问题,但是无从下手13
2014/08/01 16:37
回复
举报
不知道博主是不是写掉了一些东西,我按照博主的方法在CentOS7上还是无法开机启动,百度了一下,编辑了redis的配置文件,将里面的daemonize no改为daemonize yes后就成功了,不知道我是不是个别现象
2014/08/01 16:07
回复
举报
更多评论
打赏
12 评论
41 收藏
5
分享
返回顶部
顶部