VMware虚拟机中Linux系统下面的redis安装(详解,含采坑经验!!!)

部分参考了这篇博客,里面讲的很详细:https://www.cnblogs.com/flower-dance/p/14731073.html

而我在安装的过程中还遇到了很多问题,在文末。

首先说一下我的安装步骤

如下:

1、首先需要下载一个虚拟机或者购买云端服务器,再去redis官网下载一个tar.gz包,我的是redis-5.0.14.tar.gz,而我用的是虚拟机,VMware虚拟机,从主机中拷贝文件,直接将文件拖拽到Linux的操作桌面即可,使用 指令:cd /root/桌面,运行ls指令找到redis安装包,之后运行

指令:mv redis-5.0.14.tar.gz /opt/,将文件移动到 /opt/文件目录下面,

2、再执行: tar -zxvf redis-5.0.14.tar.gz 解压文件

3、解压完成后:执行: yum install gcc-c++ 安装C的编译环境,如果出现错误,则是未安装成功c环境,需要安装了c的环境再进行下面操作

4、执行:make && make install 编译并安装

5、出现下图,证明软件已经安装成功!!!

 

 6、修改配置文件,默认文件安装在:usr/local/bin/

7、打开目录,执行cd usr/local/bin/,然后执行创建文件夹指令: mkdir redisConfig  

8、打开配置文件位置,执行cp redis.conf ../../../usr/local/bin/redisConfig/redis.conf文件拷贝到对应的安装目录下面。

9、在安装了redis的目录下,执行指令:./redis-server redisconfig/redis.conf 启动redis客户端

10、执行指令 ./redis -p 6379,完成redis启动,输入ping,返回pong

11、设置开启自启模式,参考链接文章

这里我要说我遇到的一个坑,遇见安装C的时候,程序报错,一共两次,一次是源不能用,清理缓存后,又报致命错误,什么.h文件致命错误,耗费我好久才装上:

下面是解决办法:

先要执行指令rm -f /etc/yum.repos.d/CentOS-Base.repo,将不能用的源删除(系统正常运行的时候尽量不要删),

如果执行yum repolist all后,发现源全部禁用了,也不要慌,切换到根目录,

执行指令:wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

 

 就会出现这个:

 

执行指令:sudo yum-config-manager --enable [源名称,我这里是CentOS-7 - Base - mirrors.aliyun.com] 

之后再执行指令:yum install gcc-c++,就可以安装C的语言环境了,一堆指令,全部按y,就安装成功就好啦

 

在安装redis6版本的时候,报错

server.c:5170:39: error: ‘struct redisServer’ has no member named ‘maxmemory’
if (server.maxmemory > 0 && server.maxmemory < 1024*1024) {
                                  ^
server.c:5171:176: error: ‘struct redisServer’ has no member named ‘maxmemory’
    serverLog(LL_WARNING,"WARNING: You specified a maxmemory value that is less than 1MB (current value is %llu bytes). Are you sure this is what you really want?", server.maxmemory);
                                                                                                                                                                           ^
server.c:5174:31: error: ‘struct redisServer’ has no member named ‘server_cpulist’
redisSetCpuAffinity(server.server_cpulist);

原因是c版本太低了,更新到9版本,解决方案如下:

# 查看gcc版本是否在5.3以上,centos7.6默认安装4.8.5
gcc -v
# 升级gcc到5.3及以上,如下:
升级到gcc 9.3:
yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
scl enable devtoolset-9 bash
需要注意的是scl命令启用只是临时的,退出shell或重启就会恢复原系统gcc版本。
如果要长期使用gcc 9.3的话:
 
echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile
这样退出shell重新打开就是新版的gcc了
以下其他版本同理,修改devtoolset版本号即可

  

posted @ 2022-09-29 19:46  努力学习の小白  阅读(1339)  评论(0编辑  收藏  举报
Live2D