1. 直接上redis官网安装包, 然后上传服务器

  https://redis.io/download

  

2. 解压

  tar -zxvf redis-5.0.6.tar.gz

3. 进入redis根目标

   cd redis-5.0.6

4.编译安装

  直接make, 但是我这虚拟机报错了, 报错信息如下

  

cd hiredis && make static
make[3]: Entering directory `/root/redis-5.0.6/deps/hiredis'
gcc -std=c99 -pedantic -c -O3 -fPIC -Wall -W -Wstrict-prototypes -Wwrite-strings -g -ggdb net.c
make[]: gcc: Command not found
make[3]: *** [net.o] Error 127
make[3]: Leaving directory `/root/redis-5.0.6/deps/hiredis'
make[2]: *** [hiredis] Error 2
make[2]: Leaving directory `/root/redis-5.0.6/deps'
make[1]: [persist-settings] Error 2 (ignored)
CC adlist.o
/bin/sh: cc: command not found
make[1]: *** [adlist.o] Error 127
make[1]: Leaving directory `/root/redis-5.0.6/src'
make: *** [all] Error 2

看起来,就是没有gcc库, 我们可以使用whereis 命令查看一下

果真没有gcc库,我们使用yum 安装 ,执行以下命令

yum install -y gcc

install安装gcc之后,我们可以再使用whereis命令查看

这下子,gcc已经安装好了!

然后,我们再使用make命令编译安装redis

然而,忧伤的事发生了, 还是报错:

百度一把,解决方案如下

To force compiling against libc malloc, use:

% make MALLOC=libc

To compile against jemalloc on Mac OS X systems, use:

% make MALLOC=jemalloc

所以,再度编译一把 ,使用下面这命令:

make MALLOC=libc

这下子终于成功了!

5. 启动redis:

  /root/redis-5.0.6/src/redis-server  /root/redis-5.0.6/redis.conf

  

6. 操作redis

  /root/redis-5.0.6/src/redis-cli

  

不过很烦的是,redis可执行文件都在src目标下面,而这个src目标下面还有一堆的c文件,用起来、看起来都不方便。当然,我们可以移动这些文件到我们习惯的目标,比较常用的有 redis.conf, redis-server, redis-cli 等

后面看README.md文档, 发现,在make 时,可以指定redis的安装路径 。下面我们再来试一把。

删除刚才编译安装的redis文件

rm -rf redis-5.0.6

重新解压:

  tar -zxvf redis-5.0.6.tar.gz

进入redis根目标:

  cd redis-5.0.6

编译安装:

假设我要安装到 /usr/redis

创建: mkdir -p /usr/reids

然后执行命令: make PREFIX=/usr/redis install

安装成功之后,就会发现/usr/redis目标下面有个bin文件夹,

cd  /usr/redis/bin

这下子,redis的可执行文件都安装到这里儿了。

蛋疼,配置文件,还是没有过来, 咋办, 我使用软连接,

ln -s redis.conf  /usr/redis/bin/   # 将redis.conf  连接到 /usr/redis/bin/

虽然我是在redis.conf所在目标执行的ln -s 命令,但是我跑到 /usr/redis/bin/ 路径 下面一看,红色闪动, 说明软连接失败了。

网上一查,发现软连接必须使用绝对路径 ,所以删了重来一把

rm -rf /usr/redis/bin/redis.conf    #删除软连接

ln -s /root/redis-5.0.6/redis.conf /usr/redis/bin/     # 创建软连接

Ok, 这下子就正确了!

修改redis.conf文件,将redis的启动改为后台程序,因为建立了软连接,可以直接在/usr/redis/bin下操作

vim /usr/redis/bin/redis.conf

yes 表示daemon进程

启动redis(在/usr/redis/bin目标下):

./redis-server redis.conf

操作redis自带客户端:

./redis-cli

总结:

(1) redis安装还是很简单的, 只是安装的时候最好指定一个安装路径 ,  PREFIX=/xxx/yyy

(2) 创建软连接时,要使用绝对路径,不然就是错  ,  命令: ln -s 源文件 目标路径 。 删除软连接, rm -rf 目标

  

 

Redis5离线安装的更多相关文章

  1. SharePoint 2016 必备组件离线安装介绍

    前言 SharePoint 必备组件安装,一直以来都是SharePoint安装过程中的最大的坑,尤其是不能联网的服务器.博主在这里简单介绍一下离线安装过程,并附组件包下载以及安装命令,并且在windo ...

  2. MYSQL离线安装

    由于MySQL的广泛应用,MySQL的安装也就成了大家经常会碰到的问题.并且由于不是所有机器都可连接外网,所以MySQL的离线安装显得比较重要.而本文旨在介绍CentOS6.6下离线安装MySQL. ...

  3. VS2010+Qt5.4.0 环境搭建(离线安装)

    原创作者:http://blog.csdn.net/solomon1558/article/details/44084969 前言 因项目需要Qt开发GUI,我根据网上资料及自己的经验整理了搭建vs2 ...

  4. 离线安装 Python 2.7, paramiko 和 tornado

    无非就是离线安装, 步骤比较繁琐, 记录一下. 需求很简单, 一个离线安装的 Python, 能跑 tornado 和 paramiko 1. 离线安装 Python 2.7 .tgz cd Pyth ...

  5. npm包与gem包--在线&离线安装

    目录 NPM 在线 离线 GEM 在线 离线 NPM NPM,即为Node的包管理工具,官网为 https://www.npmjs.com/,我们可以在站内搜索所需要的NPM包,了解相关的使用规则 安 ...

  6. Windows 8 下离线安装。net Framework 3.5

    Windows 8 下安装.net Framework 3.5 1)可以将直接双击ISO (或放入光盘/U盘)(安装文件在F盘) 2)使用管理员权限运行命令行程序 3)dism.exe /online ...

  7. Xamarin Mono For Android 4.6.07004 完整离线安装破解版(C#开发Android、IOS工具)

      Xamarin是由Miguel de Icaza成立的一家新的独立公司,目的是给Mono一个继续奋斗的机会.Mono for Android (原名:MonoDroid)可以让开发人员使用 Mic ...

  8. nexus离线安装索引及一些问题

    安装私服~~~ 整体流程: 服务器安装私服 配置私服(主要是安装索引) 本地maven配置指向私服 安装私服 win & linux 网上教程很多,不在阐述: 配置私服(及安装index) 1 ...

  9. Win8.1离线安装.NET3.5

    Win8.1离线安装.NET3.5 dism.exe /online /enable-feature /featurename:NetFX3 /Source:H:\sources\sxs 其中H为盘符 ...

随机推荐

  1. java sftp.exec无法执行mv命令

    编写java程序过程中,sftp上传下载建目录删除文件都可以,就是备份不行. 分析原因如下: 1.如果用的同一个用户,即sftp用户来通过 exec(ssh连接) 执行mv命令,那极有可能是在搭建sf ...

  2. 测开之路六十四:UI测试平台之前端页面

    {% extends "base.html" %} {% block script %} <!-- 引入js文件,需要在base.html留入口,不然渲染会出问题. --&g ...

  3. Vagrant 入门 - box

    原文地址 Vagrant 使用基础镜像来快速克隆虚拟机,而不是从头开始构建虚拟机.这些基础镜像在 Vagrant 中被称为"box",并且指定用于 Vagrant 环境的 box ...

  4. Python List append()方法

    append() 方法用于在列表末尾添加新的对象.Grammar: list.append(obj) 参数obj — 添加到列表末尾的对象.返回值该方法无返回值,但是会修改原来的列表.Case: al ...

  5. Hadoop: 在Azure Cluster上使用MapReduce

    Azure对于学生账户有260刀的免费试用,火急火燎地创建Hadoop Cluster!本例子是使用Hadoop MapReduce来统计一本电子书中各个单词的出现个数. Let's get hand ...

  6. PS总结

    1.ALT:取消工具选择状态2. photoshopcs6 出现因为智能对象不能直接进行编辑    解决方案:右击---图层名---栅格化图层3.Shift+F5:填充画布颜色 4.PS不能变换路径, ...

  7. Spring学习(一)--简化Java开发,认识Spring

    一.传统Java开发弊端 在传统的开发之中,任何一个有实际意义的应用都会由两个或更多的类所组成,这些类之间相互协调来完成特定的业务逻辑,按照传统的做法,每个对象负责管理与自己相互协作的对象(即他所依赖 ...

  8. stl(优先队列操作)

    http://codeforces.com/gym/101911/problem/C Recently Monocarp has created his own mini-laboratory! Th ...

  9. 18、NumPy——矩阵库(Matrix)

    NumPy 矩阵库(Matrix) NumPy 中包含了一个矩阵库 numpy.matlib,该模块中的函数返回的是一个矩阵,而不是 ndarray 对象. 一个 的矩阵是一个由行(row)列(col ...

  10. 15、numpy——排序、条件刷选函数

    NumPy 提供了多种排序的方法. 这些排序函数实现不同的排序算法,每个排序算法的特征在于执行速度,最坏情况性能,所需的工作空间和算法的稳定性. 下表显示了三种排序算法的比较. 种类 速度 最坏情况 ...