02. Install redis on Linux
- 安装下载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 加载。
02. Install redis on Linux的更多相关文章
- Redis 在 LINUX 系统下 安装, 启动
01, 下载 http://www.redis.cn/ , 这里下再下来的是 redis-4.0.1.tar.gz 这个压缩包 02, 将压缩包放到 linux 系统中, 一般放在 usr/lo ...
- 【redis】 linux 下redis 集群环境搭建
Redis集群 (要让集群正常工作至少需要3个主节点,在这里我们要创建6个redis节点,其中三个为主节点,三个为从节点,对应的redis节点的ip和端口对应关系如下) 127.0.0.1:63791 ...
- centos yum install redis
linux下yum安装redis以及使用 1.yum install redis --查看是否有redis yum 源 [root@localhost ~]# yum install r ...
- redis在linux云服务器上完整的搭建步骤
Redis的安装 搭建环境: 华为云linux服务器 Linux系统CneterOS-7.3 SSH客户端 Xshell6 安装c语言编译环境软件如下: 安装报错 然后找到了解决方法: 安装kerne ...
- Redis在linux上的配置
一.安装gcc 1.Redis在linux上的安装首先必须先安装gcc,这个是用来编译redis的源文件的.首先需要先切换的到root用户 2.然后开始安装gcc: yum install gcc- ...
- redis 在Linux下的安装与配置
redis在Linux下的安装与配置 by:授客 QQ:1033553122 测试环境 redis-3.0.7.tar.gz 下载地址: http://redis.io/download http: ...
- Redis 起步(linux)
Rdis和JQuery一样是纯粹为应用而产生的,这里记录的是在CentOS 5.7上学习入门文章: 1.Redis简介 Redis是 一个key-value存储系统.和Memcached类似,但是解决 ...
- redis 在 Linux 和 Windows 上的安装配置
最近需要在服务器上安装 redis,虽然只是一个小事情,但这个过程中也遇到了不少的问题,所以做一个总结,也希望能给到其他人一些帮助. 本文记录了 linux 系统和 windows 系统的 redis ...
- redis在linux中的安装启动
1. 拖到 /usr/local 下 2. 解压 tar zxf redis-4.0.8.tar.gz 3. mkdir /usr/redis 4. 编译 cd redis-4.0.8/src ...
随机推荐
- js基础进阶--编码实用技巧(二)
我的个人博客:http://www.xiaolongwu.cn 接上篇文章 js编码的实用技巧(一) 5.合理利用||运算符 使用||可以作为参数之外的默认值,当第一个参数返回值为false时,那么第 ...
- Git分支合并冲突解决(续)
接Git分支合并冲突解决,在使用rebase合并冲突情况下,如果不小心,执行完add后执行了commit,此时本地仓库HEAD处于游离态(即HEAD指向未知的分支),如何解决? 解决方法 (1)此时, ...
- javascript中的隐式类型转化
javascript中的隐式类型转化 #隐式转换 ## "+" 字符串和数字 如果某个操作数是字符串或者能够通过以下步骤转换为字符串的话,+将进行拼接操作. 如果其中一个操作数是对 ...
- java.util.concurrent.Executors类的常用方法介绍
Java 线程池 Executors提供了几种线程池实现? 5个,分别如下 1.newCachedThreadPool:创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收 ...
- 搭建Hadoop完全分布式
Centos7搭建hadoop完全分布式 虽然说是完全分布式,但三个节点也都是在一台机器上.拿来练手也只能这样咯,将就下.效果是一样滴.这个我自己都忘了步骤,一起来回顾下吧. 必备知识: Linux基 ...
- ETCD相关介绍--整体概念及原理方面
etcd作为一个受到ZooKeeper与doozer启发而催生的项目,除了拥有与之类似的功能外,更专注于以下四点. 简单:基于HTTP+JSON的API让你用curl就可以轻松使用. 安全:可选SSL ...
- VM虚拟机安装centos详细图文教程
本教程贴,采用VM虚拟机进行安装, Ps:不懂VM使用的,可以百度一下 第一步,启动虚拟机,并进行新建---虚拟机·· 选择 从镜像安装,吧里有6.3镜像下载的链接的 然后, 下一步 . 选择客户机版 ...
- Android FoldingLayout 折叠布局 原理及实现(二)
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/44283093,本文出自:[张鸿洋的博客] 1.概述 在上一篇Android Fo ...
- MySQL基本命令1
在ubuntu系统中操作命令:登录:mysql -uroot -p启动:service mysql start停止:service mysql stop重启:service mysql restart ...
- ps技术--批量给图片加水印
在日常的办公过程中,对于一些比较重要的文件的扫描件需要特殊处理,这时我们就需要给它们加上水印,保证它们的用途唯一,而这些扫描件很多,不可能一一给他们加水印,所以为提高工作效率,我们就可以使用一些小软件 ...