-
安装下载redis,参考官方文档: https://redis.io/download
-
下载:
shell>wget http://download.redis.io/releases/redis-3.2.6.tar.gz # 这里版本读者应该已官方最新stable版本为准
-
Notice:我使用的安装目录是/ghca/redis ; 使用的版本是3.2.6; 下文提到的有关目录和版本,请读者已自己实际目录和版本替换。
-
解压编译安装:
shell>tar zxf redis-3.2.6.tar.gz shell>cd redis-3.2.6 shell>make 这是二进制程序已经编译到了src目录下,启动redis-server可以直接就执行其二进制文件,也可以对启进行make install 安装,将可执行程序移到指定安装目录下 shell>make install PREFIX=/ghca/redis 这一步将 redis 相关二进制可执行程序安装到/ghca/redis shell>cd /ghca/redis shell>mkdir log etc #创建日志和配置目录 shell>mkdir data #创建rdb和dump文件存放目录
-
系统级配置修改 (修改配置这一步,可以到启动redis-server后,按照日志报警提示对应修改)
-
涉及到启动redis-server时三个warning的处理 http://blog.csdn.net/a491857321/article/details/52006376
-
系统相关配置三项:
-
1)修改/etc/sysctl.conf文件,添加 vm.overcommit_memory=1到文件中
shell>sysctl vm.overcommit_memory=1
-
2)查看cat /sys/kernel/mm/transparent_hugepage/enabled,如果不是[never] 那么执行,如打印“[always] madvise never“则执行:
shell>echo never >/sys/kernel/mm/transparent_hugepage/enabled shell>cat /sys/kernel/mm/transparent_hugepage/enabled always madvise [never] 还要将echo 命令加入到 /etc/rc.local 为了在重启设置 shell>vi /etc/rc.local echo never > /sys/kernel/mm/transparent_hugepage/enabled
-
3)tcp backlog设置,默认配置是511,如果启动是日志有警告warn 则需要修改系统/proc/sys/net/core/somaxconn的值为511
shell>echo 511 >/proc/sys/net/core/somaxconn
-
操作系统最好还是设置swap
-
创建配置文件,从源码中赋值配置模板,在配置模板基础上修改。具体配置内容参见《03.Redis-配置文件》
将源码文件夹下的配置文件复制到安装目录下的配置文件目录
shell>cd etc
shell>cp <源码路径>/redis.conf /ghca/redis/etc/
相关配置介绍说明(可以略过):
1)然后根据需求修改相应配置,不过要redis在后台运行,general 模块的第一个directive: daemonize no 要修改为daemonize yes
2)3.2.6版本多了安全模式配置,默认是开启安全模式,开启安全模式是一层保护redis的措施,如果:没有明确指定bind配置或者没有password配置,redis就会在安全模式下运行。redis只会接受连接来自IPV4 IPV6的loopback地址(127.0.0.1)和unix domain sockets 的连接。
3)tcp-keepalived 顾名思义:redis是tcp协议,为了保证client与redis-server之间活起的,该配置会让redis-server一定周期向client发送一个acks,可配置tcp-keepalived为0 要求没那么严格的话。
4)有关snapshot-镜像快照:save <seconds> <changes> 时间和次数 两个维度条件满足,那么就做一次snapshot。save的策略可以有多个,因为有时间这个维度的参与,时间到了满足个数的条件就执行。 这个时间起始计数应该是一次changed的开始吧??,不要快照就注释所有save。如果最后一次快照失败,那么redis会停止所有的对redis key的写操作。这样能够让adm知道出现了故障,否则就不会有人注意到灾难的发生。如果后台saving线程再次开始工作了,redis将自动允许写操作。
5)复制replication:
6)网络配置
7)指定pid文件,创建指定日志文件,日志文件名最好跟上端口号
创建启动脚本,通过service 管理;
shell>cp <源码路径>/utils/redis_init_start /tmp/ # 注意redis更高的版本redis_init_start 文件名改为了redis_init_script,高版本的操作这个文件即可
shell>修改/tmp/redis_init_start 或者 /tmp/redis_init_script
实例内容如下:
#!/bin/sh
#
# Simple Redis init.d script conceived to work on Linux systems
# as it does use of the /proc filesystem.
### BEGIN INIT INFO
# Provides: redis_6379
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Redis data structure server
# Description: Redis data structure server. See https://redis.io
### END INIT INFO
REDISPORT=6379 # 端口号,和配置文件一致
REDIS_HOME=/ghca/redis # redis安装目录
EXEC=$REDIS_HOME/bin/redis-server
CLIEXEC=$REDIS_HOME/bin/redis-cli
PIDFILE=/ghca/redis/redis.pid # pid文件路径 和配置文件中设置的路径一致
CONF="$REDIS_HOME/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
;;
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
将启动文件复制到/etc/init.d/目录下:如,sudo cp /tmp/redis_init_start /etc/init.d/redis_server 复制的service服务名可以自己定义,我这里定义为redis_server;后面就可以使用service 启停redis_server服务了。不要忘记,配置文件redis.conf我们还没修改,下一步就修改配置文件了:
设置完启动脚本后,就要去设置配置文件内容了,配置文件内容参考《03. Redis-配置文件》
-
最后,添加redis 安装目录bin 到PATH中,"export PATH=/ghca/redis/bin:$PATH" 到~/.bashrc文件最后。添加完成source ~/.bashrc 加载。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Rationality for Mortals
Gerd Gigerenzer / Oxford University Press, USA / 2008-05-02 / USD 65.00
Gerd Gigerenzer's influential work examines the rationality of individuals not from the perspective of logic or probability, but from the point of view of adaptation to the real world of human behavio......一起来看看 《Rationality for Mortals》 这本书的介绍吧!