Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

添加到系统服务

如果是包管理工具安装,就已经自动添加了,所以这里只针对源码安装的情况

  • 编辑文件,添加内容(需要调整 变量内容 为 实际值)

    sudo vim /etc/init.d/redis
    
    #!/bin/bash
    # chkconfig: 2345 10 90
    # description: Start and Stop redis
    REDISPORT=6379
    EXEC=/home/ubuntu/redis-5.0.10/src/redis-server
    REDIS_CLI=/home/ubuntu/redis-5.0.10/src/redis-cli
    PIDFILE=/var/run/redis_6379.pid
    CONF="/home/ubuntu/redis-5.0.10/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
                    ;;
            status)
            if  [ -f $PIDFILE ]
            then echo " process is already running "
            else
                 echo "process is already stopped"
            fi
    ;;
            stop)
                    if [ ! -f $PIDFILE ]
                    then
                            echo "$PIDFILE exists, process is not running."
                    else
                            PID=$(cat $PIDFILE)
                            echo "Stopping..."
                           $REDIS_CLI -p $REDISPORT -a 123456  SHUTDOWN
                            sleep 2
                           while [ -x $PIDFILE ]
                           do
                                    echo "Waiting for Redis to shutdown..."
                                   sleep 1
                            done
                     rm -rf $PIDFILE
                            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
    
  • 赋予执行权限

    sudo chmod 755 /etc/init.d/redis
    
  • 对于ubuntu10以上,用如下命令注册服务

    sudo update-rc.d redis defaults
    
  • 成功后,可以尝试启动

    sudo systemctl start redis
    
  • 查看状态

    systemctl status redis
    
  • 查看端口是否启动

    netstat -an | grep 6379