Linux安裝Redis步驟和make遇到的坑 解決方案

Linux安裝Redis服務步驟:

(1)獲取redis資源:
 

​​​​​​​cd /usr/local

wget http://download.redis.io/releases/redis-6.0.1.tar.gz

 

(2)解壓:tar xzvf redis-6.0.1.tar.gz

(3)安裝:

cd redis-4.0.8

make

cd src

make install PREFIX=/usr/local/redis

(4)移動配置文件到安裝目錄下

 cd ../

 mkdir /usr/local/redis/etc

 mv redis.conf /usr/local/redis/etc

(5)redis配置調整:vim redis.conf

配置redis爲後臺啓動:將daemonize no 改成daemonize yes

配置遠程訪問:將protected-mode yes 改爲 no

1、關閉protected-mode模式,此時外部網絡可以直接訪問

2、開啓protected-mode保護模式,需配置bind ip或者設置訪問密碼

設置密碼:# requirepass foobared   修改成 : requirepass  123456

 

(6)將redis加入開機啓動:vim /etc/rc.local

添加命令:/usr/local/redis/bin/redis-server /usr/local/redis-6.0.1/etc/redis.conf

(7)啓動redis服務:

/usr/local/redis/bin/redis-server /usr/local/redis-6.0.1/etc/redis.conf

停止redis服務:pkill redis

卸載redis:

rm -rf /usr/local/redis-6.0.1 //刪除安裝目錄

rm -rf /usr/bin/redis-* //刪除所有redis相關命令腳本

rm -rf /root/download/redis-6.0.1 //刪除redis解壓文件夾

(8)redis安裝過程中make遇到的問題

安裝gcc:yum install gcc

再次執行:make install PREFIX=/usr/local/redis

如果仍然報錯:

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 = "<no 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;

解決辦法:

[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

再次執行:make install PREFIX=/usr/local/redis

安裝成功會出現:Hint: It's a good idea to run 'make test' 

執行make test 進行測試,如果出現如下錯誤:

[root@localhost redis-6.0.1]# make test
cd src && make test
make[1]: 進入目錄“/usr/redis-6.0.1/src”
    CC Makefile.dep
make[1]: 離開目錄“/usr/redis-6.0.1/src”
make[1]: 進入目錄“/usr/redis-6.0.1/src”
You need tcl 8.5 or newer in order to run the Redis test
make[1]: *** [test] 錯誤 1
make[1]: 離開目錄“/usr/redis-6.0.1/src”
make: *** [test] 錯誤 2

解決方法:

[root@localhost redis-6.0.1]# yum install tcl
[root@localhost redis-6.0.1]# make test

執行make test成功,安裝成功!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章