Centos7.6安裝redis6.0.1
redis最新版下載地址
https://redis.io/download
安裝redis
[root@master ~]# ls
anaconda-ks.cfg redis-6.0.1.tar.gz
[root@master ~]# tar xf redis-6.0.1.tar.gz
[root@master ~]# cd redis-6.0.1/
[root@master ~]# make && make install
開啟服務(守護進程)
1,設置daemonize為yes

2, 執行
[root@XXX bin]# pwd /usr/local/bin [root@XXX bin]# vim config-redis/redis.conf [root@XXX bin]# redis-server config-redis/redis.conf
客戶端開啟
[root@XXX bin]# redis-cli -p 6379 127.0.0.1:6379>
報錯1:/bin/sh: cc: command not found
[root@master redis-6.0.1]# make
……
make[3]: cc: Command not found
make[3]: *** [net.o] Error 127
make[3]: Leaving directory `/root/redis-6.0.1/deps/hiredis'
make[2]: *** [hiredis] Error 2
make[2]: Leaving directory `/root/redis-6.0.1/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-6.0.1/src'
make: *** [all] Error 2
解決辦法:
yum -y install gcc
報錯2:server.c:xxxx:xx: error: ‘xxxxxxxx’ has no member named ‘xxxxx’
[root@master redis-6.0.1]# make
……
server.c:5101:19: error: ‘struct redisServer’ has no member named ‘sofd’
if (server.sofd > 0)
^
server.c:5102:94: error: ‘struct redisServer’ has no member named ‘unixsocket’
serverLog(LL_NOTICE,"The server is now ready to accept connections at %s", server.unixsocket);
^
server.c:5103:19: error: ‘struct redisServer’ has no member named ‘supervised_mode’
if (server.supervised_mode == SUPERVISED_SYSTEMD) {
^
server.c:5104:24: error: ‘struct redisServer’ has no member named ‘masterhost’
if (!server.masterhost) {
^
server.c:5117:15: error: ‘struct redisServer’ has no member named ‘maxmemory’
if (server.maxmemory > 0 && server.maxmemory < 1024*1024) {
^
server.c:5117:39: error: ‘struct redisServer’ has no member named ‘maxmemory’
……
解決辦法:
# 查看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版本號即可。
其他命令
# 編譯出錯時,清出編譯生成的文件 make distclean # 編譯安裝到指定目錄下 make PREFIX=/usr/local/redis install # 卸載 make uninstal