环境

{
"服务器运营商":"腾讯云",
"操作系统":"CentOS 7.5 64位",
"CPU":"1核",
"内存":"2GB",
"公网带宽":"1Mbps"
}

需要掌握的技能点


{
"Linux技能":
{
"vim命令":"打开文本,编辑文本,保存",
"文件夹基本操作":"创建文件夹,解压缩文件,复制"
},
"通用技能":
{
"搜索":"从网络上搜索相关知识点"
}
}

使用编译安装{Redis}

0.0[热身.gcc].查看是否安装gcc

1.问:gcc是啥?(What)

{gcc}回答道:我是一个编译器,可以编译C语言...(省略N字)

2.问:为啥要安装gcc?(Why)

{Redis}回答道:我是用C语言编写的,而gcc可以编译我,正巧这篇文章就是讲的编译安装我...其实就是为了使用gcc的"make"命令.


[root@VM_0_12_centos ~]# rpm -qa|grep gcc*
libgcrypt-1.5.3-14.el7.x86_64
pkgconfig-0.27.1-4.el7.x86_64
libgcc-4.8.5-36.el7.x86_64
gcc-4.8.5-36.el7.x86_64

如果已经安装了,请看步骤{1.0}.

0.1[热身.gcc].安装gcc

[root@VM_0_12_centos ~]# yum install gcc-c++

Loaded plugins: fastestmirror, langpacks
//省略N行... Installed:
gcc-c++.x86_64 0:4.8.5-39.el7
Dependency Installed:
libstdc++-devel.x86_64 0:4.8.5-39.el7
Complete!

1.0[redis].从网上下载压缩包


#先创建一个(级联)目录,用来存放{Redis压缩包}
[root@VM_0_12_centos ~]# mkdir -p usr/{bin,lib/{redis}}
[root@VM_0_12_centos ~]# cd usr/lib/redis #下载{Resis压缩包}
[root@VM_0_13_centos redis]$ wget https://mirrors.huaweicloud.com/redis/redis-5.0.5.tar.gz #解压缩.
[zf@VM_0_13_centos redis]$ tar -zxvf redis-5.0.5.tar.gz

1.1[redis].编译


#进入文件夹
[zf@VM_0_13_centos redis]$ cd redis-5.0.5/ #编译(gcc善良登场)
[zf@VM_0_13_centos redis-5.0.5]$ make
#省略N行输出...
Hint: It's a good idea to run 'make test' ;)
make[1]: Leaving directory `/usr/lib/redis/redis-5.0.5/src'

1.2[redis].安装服务


#安装服务
[zf@VM_0_13_centos redis-5.0.5]$ make PREFIX=/usr/local/redis install #检查服务是否安装成功
[zf@VM_0_13_centos redis-5.0.5]$ ls /usr/local/redis/bin/ redis-benchmark redis-check-rdb redis-sentinel
redis-check-aof redis-cli redis-server

1.3[redis].配置文件.复制


#先将解压缩目录下的配置文件复制到安装目录下
#[zf@VM_0_13_centos ~]$ ls usr/lib/redis/redis-5.0.5
#[zf@VM_0_13_centos ~]$ ls usr/local/redis/
#前两句ls命令,只是为了看下复制涉及的两个文件夹中都有些什么...
#可以理解为下载的压缩包为了咱们准备了一个默认的配置文件
[zf@VM_0_13_centos ~]$ cp usr/lib/redis/redis-5.0.5/redis.conf usr/local/redis/

1.4[redis].配置文件.编辑

这个步骤是全文中我耗时最长的时间,因为对{vim}不熟悉...

涉及到的配置项,本来写了很长一段这些配置项的介绍.

但是想了想又全删了...先照着做把{Redis}跑起来再说吧.

新手看这些配置项的详细介绍,没必要.

老司机这些介绍又不用看,所以我删了...

[
"bind",
"protected-mode",
"daemonize",
"requirepass"
]
#先跳转到安装目录下,也就是{redis.conf}所在的目录.
[zf@VM_0_13_centos ~]$ cd usr/local/redis/

下面这段vim命令,真心当时费老劲了...分享一下...


[zf@VM_0_13_centos redis]$ vim +/^bind\\s127 redis.conf
[zf@VM_0_13_centos redis]$ vi +/^protected-mode redis.conf
[zf@VM_0_13_centos redis]$ vi +/^daemonize redis.conf
#其中设置密码的配置项{requirepass}没有找到...自己添加就行了.
[zf@VM_0_13_centos redis]$ vi +/^requirepass redis.conf

1.5[redis].服务端(redis-server).启动

终于到了这一步了.


#跳转到Redis安装目录
[zf@VM_0_13_centos ~]$ cd usr/local/redis/
#启动redis-server,并且指定配置文件
[zf@VM_0_13_centos redis]$ ./bin/redis-server ./redis.conf #查看服务是否启动
[zf@VM_0_13_centos redis]$ ps -ef|grep redis
zf 19856 1 0 17:48 ? 00:00:00 ./bin/redis-server *:6379
zf 20053 21781 0 17:50 pts/3 00:00:00 grep --color=auto redis

1.6[redis].客户端(redis-cli)启动

其实到了步骤{1.5},将{Redis}启动起来后,{1.6}的内容都不属于此章了.


[zf@VM_0_13_centos redis]$ ./bin/redis-cli
#启动客户端可以添加的一些配置信息↓
#[zf@VM_0_13_centos redis]$ ./bin/redis-cli -h 127.0.0.1 -p 6379
127.0.0.1:6379> set "name" "zf"
OK
127.0.0.1:6379> exit
[zf@VM_0_13_centos redis]$ ./bin/redis-cli
127.0.0.1:6379> get "name"
"zf"
127.0.0.1:6379> exit
[zf@VM_0_13_centos redis]$ ./bin/redis-cli shutdown
[zf@VM_0_13_centos redis]$ ./bin/redis-cli
Could not connect to Redis at 127.0.0.1:6379: Connection refused
not connected>

后记.杂言碎语

本章是在介绍{Redis}安装,第一步就讲{gcc}的安装,

很容易看出来,{gcc}和{Redis}之间肯定有关系的,并且是{Redis}依赖于{gcc}.

但是有的教程,只是直接上来[第一步,第二步,第三步...]这样,

特别是那时候刚开始接触Linux,那篇文章看的迷迷糊糊的.

从此也算是吸取了一些教训,以后自己写文章,

尽可能将主要步骤描述的详细一些,希望新手能够看的明白.

毕竟这篇文章,除了我自己以后拿来看,其余应该都是新手来看了.

对于初学者如何学习,我特别认同取自《Java编程思想.第四版》中的一段话.

只把我认为有助于理解语言的东西介绍给读者,而不是把我知道的一切东西都抖出来,这并非藏私。我

认为信息的重要程度是存在一个合理的层次的。有些情况是95%的程序员都永远不必了解的。如强行学习,

只会干扰他们的正常思维,从而加深语言在他们面前表现出来的难度。以 C 语言为例,假如你能记住运算符

优先次序表(我从来记不住),那么就可以写出更“聪明”的代码。但再深入想一层,那也会使代码的读者

/维护者感到困扰。所以忘了那些次序吧,在拿不准的时候加上括号即可。--《Java编程思想.第四版》


2020.03.29编辑↓

时隔多日,因为又要安装Redis,再次翻看此篇文章,

发现安装流程中还有些不明白的,主要集中在["安装服务","启动服务","客户端"]

其实主要迷惑在["Redis服务器","Redis客户端"],

所以小改了一下.


扩展

Q:yum install gcc 和 yum install gcc-c++啥区别?

A:回答原文链接

This package adds C++ support to the GNU Compiler Collection.

It includes support for most of the current C++ specification,

including templates and exception handling。

可以看出gcc-c++是为gcc提供c++语言特性支持的其实,就概念而言gcc是指整个gcc的这一套工具集合,它分为gcc前端和gcc后端(我个人理解为gcc外壳和gcc引擎),gcc前端对应各种特定语言(如c++/go等)的处理(对c++/go等特定语言进行对应的语法检查, 将c++/go等语言的代码转化为c代码等),gcc后端对应把前端的c代码转为跟你的电脑硬件相关的汇编或机器码等。(可能描述上不是特别准确,不过大体就是这个意思)而就软件程序包而言,gcc.rpm就是那个gcc后端,而gcc-c++.rpm就是针对c++这个特定语言的gcc前端。这样的设计就保证了充分的灵活性,针对不同的程序语言,只需要开发不同的gcc前端就好了; 同时对于使用者来说,如果我只需要支持编译c++,那么我就只装一个c++的gcc前端就好了,就不会含有其他语言特性的程序代码,使得使用者的软件环境也比较轻量和干净

摘抄文档

[Linux.centOS].安装Redis 腾讯云的更多相关文章

  1. 阿里云服务器Linux CentOS安装配置(零)目录

    阿里云服务器Linux CentOS安装配置(零)目录 阿里云服务器Linux CentOS安装配置(一)购买阿里云服务器 阿里云服务器Linux CentOS安装配置(二)yum安装svn 阿里云服 ...

  2. 阿里云服务器Linux CentOS安装配置(九)shell编译、打包、部署

    阿里云服务器Linux CentOS安装配置(九)shell编译.打包.部署 1.查询当前目录以及子目录下所有的java文件,并显示查询结果 find . -name *.java -type f - ...

  3. 阿里云服务器Linux CentOS安装配置(八)nginx安装、配置、域名绑定

    阿里云服务器Linux CentOS安装配置(八)nginx安装.配置.域名绑定 1.安装nginx yum -y install nginx 2.启动nginx service nginx star ...

  4. 阿里云服务器Linux CentOS安装配置(七)域名解析

    阿里云服务器Linux CentOS安装配置(七)域名解析 1.购买域名 登录阿里云,左侧菜单点击[域名],然后[域名注册],完成域名购买.(一般首年45元) 2.添加域名解析 在域名列表里点击你的域 ...

  5. 阿里云服务器Linux CentOS安装配置(六)resin多端口配置、安装、部署

    阿里云服务器Linux CentOS安装配置(六)resin多端口配置.安装.部署 1.下载resin包 http://125.39.66.162/files/2183000003E08525/cau ...

  6. 阿里云服务器Linux CentOS安装配置(五)jetty配置、部署

    阿里云服务器Linux CentOS安装配置(五)jetty配置.部署 1.官网下载jetty:wget http://repo1.maven.org/maven2/org/eclipse/jetty ...

  7. 阿里云服务器Linux CentOS安装配置(四)yum安装tomcat

    阿里云服务器Linux CentOS安装配置(四)yum安装tomcat 1.yum -y install tomcat  执行命令后,会帮你把jdk也安装好 2.tomcat安装目录:/var/li ...

  8. 阿里云服务器Linux CentOS安装配置(三)yum安装mysql

    阿里云服务器Linux CentOS安装配置(三)yum安装mysql 1.执行yum安装mysql命令:yum -y install mysql-server mysql-devel 2.启动mys ...

  9. 阿里云服务器Linux CentOS安装配置(二)yum安装svn

    阿里云服务器Linux CentOS安装配置(二)yum安装svn 1.secureCRT连接服务器 2.先创建一个文件夹,用来按自己的习惯来,用来存放数据 mkdir /data 3.yum安装sv ...

随机推荐

  1. Android Binder机制彻底梳理二

    根据AIDL了解整体调用流程[重点分析AIDL流程]: 在上一次https://www.cnblogs.com/webor2006/p/11741743.html中我们已经对Android Binde ...

  2. Java精通并发-Lock锁机制深入详解

    从这次开始接触Java1.5推出的并发包中的东东,先看一下jdk中的并发包: 接下来咱们则会集中对这些并发包中的核心进行深入了解,不光要学会怎么用这些并发包中的类,而且还得知道这些功能背后运行的原理, ...

  3. C++类库开发详解(转)

    前言:这是一篇总结性的文章,需要有一点C++和dll基本知识的基础,在网上查阅了很多资料感觉没有一篇详细.具体.全面的dll开发介绍,我这是根据最近项目和网上资料整理出来的,并附带实例的一个总结性的文 ...

  4. KVM管理工具

    Ovirt:功能强大,RHEV的开源版本 WebVirtMgr:virt-manager的WEB模式的替代品 ConVirt:分为开源版.商业版 Openstack:开源框架,复杂程度较高

  5. c小例子 10个数找出第一名

    这个小例子,是从十个数中找到第一名,如果第一名的分数相同,则二者都可以晋级,进入下一轮比赛,我们就对这个数进行排序,这样要求输出晋级人员的标号0-9号中其中一个或几个. 如何用c语言来实现呢? 1) ...

  6. 一个使用vue和echarts结合的demo

    前端框架真的很神奇,接触了几天vue.js,用它结合echarts做一个数据分析图,效果如下: 附上源码地址:https://github.com/qingguoYan/orderVue.git

  7. spring MVC核心思想

    目录  一.前言二.spring mvc 核心类与接口三.spring mvc 核心流程图 四.spring mvc DispatcherServlet说明 五.spring mvc 父子上下文的说明 ...

  8. 最后一个对象属性后边不要加豆号的bug,血淋淋的教训啊,模块化开发IE7下的严重错误,养成好习惯

    最近总是写滚动图效果,重复的劳动后,决定写一个滚动图的封装插件.结果写完后在其他浏览器都可以用,却IE7下毫无反应.反复测试各种检查后,发现竟然是在参数对象最后一个属性后多加了个逗号,结果就死在了IE ...

  9. mybatis框架-使用resultMap实现高级结果映射,association属性

    需求:查询数特定角色下的所有用户列表 首先需要在在User类中引用Role类,因为引用了复杂的数据类型,所以要使用association属性进行映射,其实起主要作用的还是resultMap属性. /* ...

  10. reids 数据库学习

    最近项目中用到了redis数据库,学习整理下 redis操作学习手册--key操作命令 http://www.cnblogs.com/stephen-liu74/archive/2012/03/26/ ...