zoukankan      html  css  js  c++  java
  • Linux 安装Redis全过程日志

    wget http://download.redis.io/redis-stable.tar.gz
    tar xvzf redis-stable.tar.gz
    cd redis-stable
    make
     
    前面3步应该没有问题,基本的问题是运行make的时候。出现了异常。
    异常一:
    make[2]: cc: Command not found
    异常原因:没有安装gcc
    解决方式:yum install gcc-c++
    异常二:
    zmalloc.h:51:31: error: jemalloc/jemalloc.h: No such file or directory
    异常原因:一些编译依赖或原来编译遗留出现的问题
    解决方式:make distclean。清理一下。然后再make。


    在make成功以后。须要make test。在make test出现异常。
    异常一:
    couldn't execute "tclsh8.5": no such file or directory
    异常原因:没有安装tcl
    解决方式:yum install -y tcl。
     
    在make成功以后,会在src文件夹下多出一些可运行文件:redis-server。redis-cli等等。


    方便期间用cp命令拷贝到usr文件夹下执行。
    cp redis-server /usr/local/bin/
    cp redis-cli /usr/local/bin/


    然后新建文件夹,存放配置文件
    mkdir /etc/redis
    mkdir /var/redis
    mkdir /var/redis/log
    mkdir /var/redis/run
    mkdir /var/redis/6379


    在redis解压根文件夹中找到配置文件模板,拷贝到例如以下位置。


    cp redis.conf /etc/redis/6379.conf
    通过vim命令改动
    daemonize yes
    pidfile /var/redis/run/redis_6379.pid
    logfile /var/redis/log/redis_6379.log
    dir /var/redis/6379
    最后执行redis:
    $ redis-server /etc/redis/6379.conf
    #################################开机自启动配置#################################
    #!/bin/sh
    #
    # chkconfig:   2345 90 10
    # description:  Redis is a persistent key-value database
    # redis    Startup script for redis processes
    # processname: redis
    redis_path="/usr/local/bin/redis-server"
    redis_conf="/etc/redis/6379.conf"
    redis_pid="/var/redis/run/redis_6379.pid"
    # Source function library.
    . /etc/rc.d/init.d/functions
    [ -x $redis_path ] || exit 0
    RETVAL=0
    prog="redis"
    # Start daemons.
    start() {
    if [ -e $redis_pid -a ! -z $redis_pid ];then
    echo $prog" already running...."
    exit 1
    fi
    echo -n $"Starting $prog "
    # Single instance for all caches
    $redis_path $redis_conf
    RETVAL=$?


    [ $RETVAL -eq 0 ] && {
    touch /var/lock/subsys/$prog
    success $"$prog"
    }
    echo
    return $RETVAL
    }
    # Stop daemons.
    stop() {
    echo -n $"Stopping $prog "
    killproc -d 10 $redis_path
    echo
    [ $RETVAL = 0 ] && rm -f $redis_pid /var/lock/subsys/$prog
    RETVAL=$?
    return $RETVAL
    }
    # See how we were called.
    case "$1" in
    start)
    start
    ;;
    stop)
    stop
    ;;
    status)
    status $prog
    RETVAL=$?


    ;;
    restart)
    stop
    start
    ;;
    condrestart)
    if test "x`pidof redis`" != x; then
    stop
    start
    fi
    ;;
    *)
    echo $"Usage: $0 {start|stop|status|restart|condrestart}"
    exit 1
    esac
    exit $RETVAL
    -------------------------------------------------------
    :wq! #保存退出
    chmod 755 /etc/init.d/redis  #加入脚本运行权限
    chkconfig --add redis  #加入开启启动
    chkconfig --level 2345 redis on  #设置启动级别
    chkconfig --list redis  #查看启动级别
    service redis restart  #又一次启动redis
    #################################设置redis配置文件參数##############################
    mkdir -p /usr/local/redis/var  #创建redis数据库存放文件夹
    vim /etc/redis/6370.conf


    daemonize yes  #以后台daemon方式执行redis
    pidfile "/var/run/redis.pid"  #redis以后台执行,默认pid文件路径/var/run/redis.pid
    port 6379  #默认端口
    bind 127.0.0.1 #默认绑定本机全部ip地址。为了安全,能够仅仅监听内网ip
    timeout 300 #client超时设置。单位为秒
    loglevel verbose  #设置日志级别,支持四个级别:debug、notice、verbose、warning
    logfile stdout  #日志记录方式,默觉得标准输出。logs不写文件,输出到空设备/deb/null
    logfile "/usr/local/redis/var/redis.log"  #能够指定日志文件路径
    databases 16  #开启数据库的数量
    save 900 1
    save 300 10
    save 60 10000
    创建本地数据库快照。格式:save * *
    900秒内,运行1次写操作
    300秒内。运行10次写操作
    60秒内,运行10000次写操作
    rdbcompression yes #启用数据库lzf压缩。也能够设置为no
    dbfilename dump.rdb  #本地快照数据库名称
    dir "/usr/local/redis/var/"   #本地快照数据库存放文件夹
    requirepass 123456  #设置redis数据库连接password
    maxclients 10000 #同一时间最大客户端连接数,0为无限制
    maxmemory 1024MB #设定redis最大使用内存,值要小于物理内存,必须设置
    appendonly yes  #开启日志记录,相当于MySQL的binlog
    appendfilename "appendonly.aof"   #日志文件名称,注意:不是文件夹路径
    appendfsync everysec #每秒运行同步,还有两个參数always、no一般设置为everysec,相当于MySQL事物日志的写方式
    :wq! #保存退出
    service redis restart #重新启动
    ####################################測试redis数据库####################################
    redis-cli -a 123456  #连接redis数据库,注意:-a后面跟redis数据库password
    set name 111cn.net  #写数据
    get name  #读取数据
    exit #退出redis数据库控制台
    redis-benchmark -h 127.0.0.1 -p 6379 -c 1000 -n 100000  #1000个并发连接。100000个请求,測试127.0.0.1port为6379的redisserver性能


  • 相关阅读:
    POJ Problem 1363 Rails 【栈】
    POJ Problem 3040 Allowance 【贪心】
    ACM 程序对拍
    HDU Problem
    POJ
    HDU Problem
    HDU Problem—2124 Repair the Wall 【贪心】
    HDU Problem 1052 Tian Ji -- The Horse Racing 【贪心】
    POJ Problem Radar Installation 【贪心】
    Beyond Compare和输出文件比较的方法
  • 原文地址:https://www.cnblogs.com/slgkaifa/p/7116345.html
Copyright © 2011-2022 走看看