基于CentOS源码编译安装6.0

有空一起学习 2017年11月20日22:40:32 发表评论
文章最后编辑于:2020-2-18 11:30:29

一、编译安装

Redis官网地址:redis官网,官网可能会打不开,可以在github的发布页中下载:Release-redis

当前最新版6.0-rc1,下载redis:

编译redis6.0需要GCC5以上版本,低版本会报错,如果GCC版本低于5,只能使用redis5.x版本。

解压源码文件编译:

注意make的时候要添加MALLOC=libc参数,否则可能出现以下报错:

这个参数的用处是指定redis使用的malloc函数为libc中的,默认情况下redis使用的是jmalloc,大部分系统默认没有安装,会报错。

编译完成后,安装redis到/usr/local/redis-6.0-rc1

给安装目录创建软链接并添加到PATH路径下:

执行完成后,直接运行redis-server 就能启动redis了,可以加上--port 参数指定运行端口。

基于CentOS源码编译安装6.0

二、服务配置

默认的配置文件在安装目录下:redis.conf ,复制到/etc/redis/ 目录下:

6379是redis的默认监听端口,根据不同端口来命名配置文件可以使主机同时运行多个redis实例,方便管理。

配置文件中的一些参数说明:

添加redis用户:

设置目录权限:

三、添加服务

3.1 services服务

安装目录下的utils 默认有一个redis_init_script 脚本,复制到/etc/ini.d 目录下:

里面需要修改的内容:

启动和关闭redis:

3.2 systemd服务

使用systemd服务时,注意redis不能以守护进程启动:

复制以下内容到/etc/systemd/system/redis_6379.service

然后执行systemctl start redis_6379即可启动服务。

3.2 launchd服务

2020-02-18添加mac系统下launchctl配置。

luanchd服务是mac系统下的后台管理程序,把以下配置保存到文件homebrew.mxcl.redis.plist,然后放到~/Library/LaunchAgents/路径下(注意修改程序和日志文件路径):

编辑完成后,载入redis配置文件:

启动和停止进程:

上面的配置中没有设置开机自启,如果希望开机自启,要把18行的<false/>改成<true>

四、其他

4.1 低版本GCC编译redis-6.x报错问题

使用GCC4编译redis-6.0,会报错:

基于CentOS源码编译安装6.0

问题原因:

In old gcc version like 4.7/8, there is a bug that miss the macro like [STDC_NO_ATOMICS]

低版本的GCC例如4.7和4.8,有一个缺少类似[STDC_NO_ATOMICS]宏定义的BUG。

可参考fix: old gcc without atomic support compile failed

解决方案是升级GCC5或以上

本文共执行62次查询,耗时0.372秒!
有空一起学习

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: