首页 web服务器 正文
1330

CentOS6.9安装redis6.x的方法

  • yiqingpeng
  • 2020-05-05
  • 0
  •  
安装redis6最主要的一点是要用GCC5以上,而CentOS6.9的GCC版本为4.8.x, 所以安装之前必须升级GCC(使用命令gcc --version查看版本)。

升级GCC有两个办法:手动编译 和 从源安装。

手动编译会涉及到一些依赖的升级,所以比较麻烦些,并不推荐。

这里介绍的是从源安装高版本GCC.

对于CentOS6.x和7.x, 有一个问题是默认的源并没有GCC5及以上的版本,故使用yum install gcc 或者 yum upgrade gcc 并不能达到升级gcc的目的。

其实RedHat已经有编译好的高版本GCC, 但并未更新到base和epel两个常用源中,而是放在scl中。

首先安装scl:
yum -y install centos-release-scl

如果你之前用grouplist/install等命令,应该知道gcc包含在Development Tools这个组中。scl中的gcc/gcc++软件包的前缀都是devtoolset.  包含gcc6的软件包是devtoolset-6.  scl中gcc的各版本对应如下:
  • devtoolset-3: gcc4.9
devtoolset-4: gcc5
devtoolset-6: gcc6
devtoolset-7: gcc7
devtoolset-8: gcc8

最好是使用命令 yum search devtoolset 查看一下自己的scl源中有哪些版本的gcc可用,笔者的环境下只有7,8,9三个版本的gcc,所以选择安装GCC7:
yum -y install devtoolset-7-gcc  devtoolset-7-gcc-c++

需要说明的是,这些不同版本的gcc是可以同时安装的,并不会发生冲突或覆盖。使用不同版本的gcc有四种方法:
1)使用绝对路径
2)添加可执行文件的路径到PATH环境变量
3)使用官方推荐的加载命令: scl enable devtoolset-x bash , x代表要启用的版本号。
4)执行安装软件自带的脚本:source /opt/rh/devtoolset-x/enable, x代表要启用的版本号。
推荐使用后两种方式。

scl和scl-rh源中的软件默认都安装在/opt/rh目录下,包含可执行文件、配置文件等。
启用命令的路径是 /opt/rh/xxxx/enable, 安装的服务重启命令则是systemctl restart rh-xxx,需要加rh或scl前缀以区别其他源的包。如果你用过remi/gitlab等源,其行为方式也是类似的。

升级完GCC之后,便可对redis进行编译:
cd redis-6.0.1 && make

编译完之后,其实已经是可以使用了,可执行文件在源码包的src目录下:cd src && ./redis-server 进行启动。

也可以执行make install将redis安装到默认的位置:/usr/local/bin.
如果要指定安装位置可以执行:make PREFIX=/xxx/xxx/xxx install

redis的配置文件在源码目录下,名为redis.conf, 注册服务里需要将其copy到/etc/redis目录下

redis源码目录下的utils有一些有用的脚本,比如:
redis_init_script ,  install_server.sh

正在加载评论...