• linux下安装redis的详细过程


    先安装一些组件:

    yum -y install gcc gcc-c++ libstdc++-devel

    下载并安装:

    # wget http://download.redis.io/releases/redis-2.8.19.tar.gz
    # tar xzf redis-2.8.19.tar.gz
    # cd redis-2.8.19
    # make && make install

    如果有报错信息:

    错误1:

    [root@localhost redis-2.8.19]# make && make install
    cd src && make all
    make[1]: Entering directory `/data/software/redis-2.8.19/src'
        CC adlist.o
    In file included from adlist.c:34:
    zmalloc.h:50:31: error: jemalloc/jemalloc.h: No such file or directory
    zmalloc.h:55:2: error: #error "Newer version of jemalloc required"
    make[1]: *** [adlist.o] Error 1
    make[1]: Leaving directory `/data/software/redis-2.8.19/src'
    make: *** [all] Error 2

    解决方法:

    # make MALLOC=libc
    # make && make install

    错误2:

    [3116] 21 Jan 15:19:46.366 # Server started, Redis version 2.8.19
    [3116] 21 Jan 15:19:46.366 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.

    根据提示可以编辑 /etc/sysctl.conf 文件,在文件底部添加如下内容:
    vm.overcommit_memory = 1

    然后执行 /sbin/sysctl vm.overcommit_memory=1,使之生效。

    可以通过 /sbin/sysctl -p 来查看是否添加成功!

    错误3:

    [3590] 21 Jan 15:47:14.324 # Server started, Redis version 2.8.19
    [3590] 21 Jan 15:47:14.324 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
    [3590] 21 Jan 15:47:14.324 * DB loaded from disk: 0.000 seconds
    [3590] 21 Jan 15:47:14.324 * The server is now ready to accept connections on port 6379

    限制了接收新 TCP 连接侦听队列的大小。对于一个经常处理新连接的高负载 web服务环境来说,默认的 128 太小了。大多数环境这个值建议增加到 1024 或者更多。
    服务进程会自己限制侦听队列的大小(例如 sendmail(8) 或者 Apache),常常在它们的配置文件中有设置队列大小的选项。大的侦听队列对防止拒绝服务 DoS 攻击也会有所帮助。
    我们可以通过来修改这个参数。

    解决方法:

    # echo 1000 > /proc/sys/net/core/somaxconn

    错误4:

    [3234] 06 May 02:46:22.059 # Server started, Redis version 2.8.19
    [3234] 06 May 02:46:22.059 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.
    [3234] 06 May 02:46:22.059 * DB loaded from disk: 0.000 seconds
    [3234] 06 May 02:46:22.059 * The server is now ready to accept connections on port 6379

    解决方法:

    # echo never > /sys/kernel/mm/transparent_hugepage/enabled

    启动redis:

    # redis-server /data/redis/redis.conf

    测试设置:

    # redis-cli
    127.0.0.1:6379> set name redisdev
    OK
    127.0.0.1:6379> get name
    "redisdev"

    关闭redis:

    # redis-cli shutdown

    加入服务,并开机自启动:

    # vim /etc/init.d/redis

    添加以下脚本:

    # chkconfig: 2345 90 10
    # description: service of redis for start and stop add by tomener
    
    PATH=/usr/local/bin:/sbin:/usr/bin:/bin
    REDISPORT=6379
    EXEC=/usr/local/bin/redis-server
    REDIS_CLI=/usr/local/bin/redis-cli
    
    PIDFILE=/var/run/redis.pid
    CONF="/data/redis/redis.conf"
    AUTH="1234"
    
    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
                            sleep 2
                           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 0755 /etc/init.d/redis
    # /etc/init.d/redis start
    # chkconfig --add redis
    # chkconfig --level 235 redis on

    #使用该命令能愉快的玩耍了 # service redis start
    |stop|restart

    到此安装完成。那么您肯定会用到命令,附详细的命令大全。我也拿来参考用,防长时间忘记。

    http://www.cnblogs.com/xsi640/p/3755133.html

  • 相关阅读:
    mint17上建立lamp环境
    iptables开始ftp
    查看mysql集群状态是否正常
    限制SSH访问源,禁止4A之外的地址跳转访问
    查看cpu、内存和硬盘
    降kipmi0的CPU
    更改密钥对
    eNSP
    划分分区GPT11
    修改虚机IP
  • 原文地址:https://www.cnblogs.com/yangjinjin/p/4745977.html
Copyright © 2020-2023  润新知