redis2.8安装

操作系统和redis安装包版本

CentOS Linux release 7.4.1708 (Core)

redis-2.8.19.tar.gz

操作系统配置

关闭大页
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo "echo never > /sys/kernel/mm/transparent_hugepage/enabled" >> /etc/rc.local
修改vm.overcommit_memory
echo "vm.overcommit_memory=1" >> /etc/sysctl.conf
sysctl vm.overcommit_memory=1
修改somaconn
echo 511 > /proc/sys/net/core/somaxconn
安装需要的库
yum install -y epel-release
yum install jemalloc-devel
yum install gcc

epel的全称叫 Extra Packages for Enterprise Linux 。是由 Fedora 社区打造,为 RHEL 及衍生发行版如 CentOS、Scientific Linux 等提供高质量软件包的项目。装上了 EPEL之后,就相当于添加了一个第三方源,版本会比官方的包更新,而且还有一些官方没有的包,比如jemalloc-devel。

redis解压安装

tar -zxvf redis-2.8.19.tar.gz
cd redis-2.8.19
make
cd src
make install

默认安装在/usr/local/bin

总用量 20968
-rwxr-xr-x. 1  501 games 13025336 5月  17 02:32 dbdeployer
-rwxr-xr-x. 1 root root   4091872 5月  19 09:51 redis-server
-rwxr-xr-x. 1 root root   2075616 5月  19 09:51 redis-benchmark
-rwxr-xr-x. 1 root root   2185184 5月  19 09:51 redis-cli
-rwxr-xr-x. 1 root root     56016 5月  19 09:51 redis-check-dump
-rwxr-xr-x. 1 root root     25168 5月  19 09:51 redis-check-aof
lrwxrwxrwx. 1 root root        27 5月  19 09:51 redis-sentinel -> /usr/local/bin/redis-server

创建配置文件,目录并且做成service

配置文件模版

把配置文件放到/app 目录下redis.conf

pidfile "/app/redis/redis_6379.pid"
port 6379
logfile "/app/redis/redis.log"
daemonize yes
requirepass "xxxx"
databases 256
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit slave  0 0 0

tcp-backlog 511
timeout 86400
tcp-keepalive 60
maxclients 10000

dir "/app/redis"
save 900 1
save 300 10
save 60 10000
dumpfile "dump.rdb"

appendonly yes
appendfilename "appendonly.aof"
appendfsync everysec
auto-aof-rewrite-percentage 200

#memory
maxmemory 5gb


#slave-read-only yes
#slaveof 111.111.111.111
#masterauth "aldt2020"

#forbit command
rename-command FLUSHALL ""
rename-command FLUSHDB  ""
rename-command KEYS     ""

#slow log monitor
latency-monitor-threshold 1000 #1s
slowlog-log-slower-than   60000 #60s

拷贝redis_init_script到/etc/init.d目录

cp ~/redis-2.8.19/utils/redis_init_script /etc/init.d/redis

修改redis_init_script文件里相关的配置PIDFILE和CONF

#!/bin/sh
#
# Simple Redis init.d script conceived to work on Linux systems
# as it does use of the /proc filesystem.

REDISPORT=6379
EXEC=/usr/local/bin/redis-server
CLIEXEC=/usr/local/bin/redis-cli

PIDFILE=/app/redis/redis_${REDISPORT}.pid
CONF="/app/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
        ;;
    stop)
        if [ ! -f $PIDFILE ]
        then
                echo "$PIDFILE does not exist, process is not running"
        else
                PID=$(cat $PIDFILE)
                echo "Stopping ..."
                $CLIEXEC -p $REDISPORT shutdown
                while [ -x /proc/${PID} ]
                do
                    echo "Waiting for Redis to shutdown ..."
                    sleep 1
                done
                echo "Redis stopped"
        fi
        ;;
    *)
        echo "Please use start or stop as first argument"
        ;;
esac

启动redis service redis start

常见安装错误

  • 1
cc: 错误:../deps/hiredis/libhiredis.a:没有那个文件或目录
cc: 错误:../deps/lua/src/liblua.a:没有那个文件或目录
cc: 错误:../deps/jemalloc/lib/libjemalloc.a:没有那个文件或目录
make[1]: *** [redis-server] 错误 1
make[1]: 离开目录“/root/redis-2.8.19/src”
make: *** [all] 错误 2

解决办法 make distclean

  • 2
[root@localhost src]# make install 
    CC adlist.o
In file included from adlist.c:34:0:
zmalloc.h:50:31: 致命错误:jemalloc/jemalloc.h:没有那个文件或目录
 #include <jemalloc/jemalloc.h>
                               ^
编译中断。
make: *** [adlist.o] 错误 1

解决办法 yum install jemalloc-devel

  • 3
gcc -std=c99 -pedantic -c -O3 -fPIC  -Wall -W -Wstrict-prototypes -Wwrite-strings -g -ggdb  net.c
make[3]: gcc:命令未找到
make[3]: *** [net.o] 错误 127
make[3]: 离开目录“/root/redis-2.8.19/deps/hiredis”
make[2]: *** [hiredis] 错误 2
make[2]: 离开目录“/root/redis-2.8.19/deps”
make[1]: [persist-settings] 错误 2 (忽略)
    CC adlist.o
/bin/sh: cc: 未找到命令
make[1]: *** [adlist.o] 错误 127
make[1]: 离开目录“/root/redis-2.8.19/src”
make: *** [all] 错误 2

解决办法 yum install gcc

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 221,820评论 6 515
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,648评论 3 399
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 168,324评论 0 360
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,714评论 1 297
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,724评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,328评论 1 310
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,897评论 3 421
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,804评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,345评论 1 318
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,431评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,561评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,238评论 5 350
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,928评论 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,417评论 0 24
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,528评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,983评论 3 376
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,573评论 2 359