Linux下安裝Redis及make安裝時所踩的坑

2022-07-08 02:00:13 字數 2831 閱讀 9904

正常安裝步驟如下:

[root@localhost ~]# yum install gcc

[root@localhost ~]# cd /usr/local

[root@localhost local]# wget

[root@localhost local]# tar -xvf redis-6.0.1.tar.gz

[root@localhost local]# cd /usr/local/redis-6.0.1/

[root@localhost redis-6.0.1]# make

報錯示例:
make[1]: *** [server.o] 錯誤 1

make[1]: 離開目錄「/usr/redis-6.0.1/src」

make: *** [all] 錯誤 2

server.c:2402:11: 錯誤:『struct redisserver』沒有名為『assert_file』的成員

server.assert_file = "";

^server.c:2403:11: 錯誤:『struct redisserver』沒有名為『assert_line』的成員

server.assert_line = 0;

^server.c:2404:11: 錯誤:『struct redisserver』沒有名為『bug_report_start』的成員

server.bug_report_start = 0;

^server.c:2405:11: 錯誤:『struct redisserver』沒有名為『watchdog_period』的成員

server.watchdog_period = 0;

^server.c:2411:11: 錯誤:『struct redisserver』沒有名為『lua_always_replicate_commands』的成員

server.lua_always_replicate_commands = 1;

^server.c: 在函式『restartserver』中:

server.c:2464:32: 錯誤:『struct redisserver』沒有名為『maxclients』的成員

for (j = 3; j < (int)server.maxclients + 1024; j++) {

^server.c: 在函式『adjustopenfileslimit』中:

server.c:2491:29: 錯誤:『struct redisserver』沒有名為『maxclients』的成員

rlim_t maxfiles = server.maxclients+config_min_reserved_fds;

^server.c:2497:15: 錯誤:『struct redisserver』沒有名為『maxclients』的成員

server.maxclients = 1024-config_min_reserved_fds;

^server.c:2529:53: 錯誤:『struct redisserver』沒有名為『maxclients』的成員

unsigned int old_maxclients = server.maxclients;

^server.c:2530:23: 錯誤:『struct redisserver』沒有名為『maxclients』的成員

server.maxclients = bestlimit-config_min_reserved_fds;

^server.c:2554:59: 錯誤:『struct redisserver』沒有名為『maxclients』的成員

(unsigned long long) bestlimit, server.maxclients);

^server.c: 在函式『checktcpbacklogsettings』中:

server.c:2574:48: 錯誤:『struct redisserver』沒有名為『tcp_backlog』的成員

if (somaxconn > 0 && somaxconn < server.tcp_backlog) {

^server.c:2575:171: 錯誤:『struct redisserver』沒有名為『tcp_backlog』的成員

serverlog(ll_warning,"warning: the tcp backlog setting of %d cannot be enforced because /proc/sys/net

解決辦法: 公升級gcc
[root@localhost redis-6.0.1]# gcc -v                             # 檢視gcc版本

[root@localhost redis-6.0.1]# yum -y install centos-release-scl # 公升級到9.1版本

[root@localhost redis-6.0.1]# yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils

[root@localhost redis-6.0.1]# scl enable devtoolset-9 bash

以上為臨時啟用,如果要長期使用gcc 9.1的話:

[root@localhost redis-6.0.1]# echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile

再次執行編譯:
[root@mmjredis redis-6.0.1]# make prefix=/usr/local/redis install
**:

Redis介紹及Linux下安裝

redis是當前比較熱門的nosql系統之一,它是乙個key value儲存系統。和memcached類似,但很大程度補償了memcached的不足,它支援儲存的value型別相對更多,包括string list set zset和hash。這些資料型別都支援push pop add remove及...

Linux下Redis安裝及配置

cd download 2.解壓安裝 tar zxvf redis 3.0.7.tar.gz mkdir usr local redis pv 建立安裝目錄 cd redis 3.0.7 make prefix usr local redis install 編譯安裝完成後,會在 usr local...

Linux下Redis下安裝

redis安裝 檢查是否安裝redis ps ef grep redis2.檢查gcc服務是否安裝成功 rpm qa grep gcc注 安裝成功則顯示 mkdir redis5.解壓redis安裝包 tar zxvf redis 2.8.17 tar.gz c usr local redis 解壓...