zoukankan      html  css  js  c++  java
  • CentOS 7 源码编译安装 Redis

    1.下载源码并解压

    wget http://download.redis.io/releases/redis-4.0.10.tar.gz
    tar -xzf redis-4.0.10.tar.gz
    cd redis-4.0.10
    

    2.编译

    yum -y install gcc gcc-c++ kernel-devel
    make
    

    等待编译完成

    3.安装

    make PREFIX=/usr/local/redis install
    mkdir /usr/local/redis/etc/
    cp redis.conf /usr/local/redis/etc/
    cd /usr/local/redis/bin/
    cp redis-benchmark redis-cli redis-server /usr/bin/
    

    4.更改配置

    vim /usr/local/redis/etc/redis.conf
    
    # 修改一下配置
    # redis以守护进程的方式运行
    # no表示不以守护进程的方式运行(会占用一个终端)  
    daemonize yes
    
    # 客户端闲置多长时间后断开连接,默认为0关闭此功能                                      
    timeout 300
    
    # 设置redis日志级别,默认级别:notice                    
    loglevel verbose
    
    # 设置日志文件的输出方式,如果以守护进程的方式运行redis 默认:"" 
    # 并且日志输出设置为stdout,那么日志信息就输出到/dev/null里面去了 
    logfile stdout
    # 设置密码授权
    requirepass <设置密码>
    # 监听ip
    bind 127.0.0.1 
    

    5.配置环境变量

    vim /etc/profile
    export PATH="$PATH:/usr/local/redis/bin"
    # 保存退出
    
    # 让环境变量立即生效
    source /etc/profile
    

    6.配置启动脚本

    #!/bin/bash
    #chkconfig: 2345 80 90
    # Simple Redis init.d script conceived to work on Linux systems
    # as it does use of the /proc filesystem.
    
    PATH=/usr/local/bin:/sbin:/usr/bin:/bin
    REDISPORT=6379
    EXEC=/usr/local/redis/bin/redis-server
    REDIS_CLI=/usr/local/redis/bin/redis-cli
       
    PIDFILE=/var/run/redis.pid
    CONF="/usr/local/redis/etc/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 does not exist, 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
    

    7.开启自启动设置

    # 复制脚本文件到init.d目录下
    cp redis /etc/init.d/
    
    # 给脚本增加运行权限
    chmod +x /etc/init.d/redis
    
    # 查看服务列表
    chkconfig --list
    
    # 添加服务
    chkconfig --add redis
    
    # 配置启动级别
    chkconfig --level 2345 redis on
    

    8.启动测试

    systemctl start redis   #或者 /etc/init.d/redis start  
    systemctl stop redis   #或者 /etc/init.d/redis stop
    
    # 查看redis进程
    ps -el|grep redis
    
    # 端口查看
    netstat -an|grep 6379
    

    参考资料:

    https://segmentfault.com/a/1190000003084917

    https://www.cnblogs.com/smail-bao/p/6164132.html

    https://www.cnblogs.com/joshua317/p/5635483.html

  • 相关阅读:
    Linux I/O调度
    集群心跳机制
    如何修改集群的公网信息(包括 VIP) (文档 ID 1674442.1)
    AVL树(平衡二叉树)
    二叉搜索树
    二叉树及树的遍历
    python实现基数排序
    python之迷宫BFS
    python之迷宫DFS
    python实现队列
  • 原文地址:https://www.cnblogs.com/stulzq/p/9288401.html
Copyright © 2011-2022 走看看