Linux系統安裝Redis(2021最新最詳細)


2021最新Linux系統發行版ContOS7演示安裝Redis

為防止操作權限不足,建議切換root用戶,當然如果你對Linux命令熟悉,能夠自主完成權限更新操作,可以不考慮此推薦。

更多命令學習推薦:

Linux安裝JDK分為兩種:手動安裝和yum安裝。

1、下載Redis安裝程序包

  Redis官方網站手動下載,或命令下載:(也可以選擇Redis中文網下載),或直接參考Redis官網下載安裝說明

1 [xsge@localhost downfiles]$ wget http://download.redis.io/releases/redis-6.0.8.tar.gz

  如果是手動下載,請使用XFTP將文件上傳至Linux系統中。

Reids官網版本更新早與Redis中文網!!!

  查看文件:ll

  解壓文件:tar -xvf redis-6.0.8.tar.gz

1 [xsge@localhost downfiles]$ ll      ####查看文件
2 總用量 190616
3 -rw-rw-r--. 1 xsge xsge  11282879 10月  6 22:33 apache-tomcat-9.0.39.tar.gz
4 -rw-r--r--. 1 root root      1664 4月   8 2020 CentOS-Base.repo.backup
5 -rw-rw-r--. 1 xsge xsge      4131 10月 15 11:25 jdk-8u261-linux-x64.tar.gz
6 -rw-rw-r--. 1 xsge xsge     26024 4月  25 2019 mysql80-community-release-el7-3.noarch.rpm
7 -rw-rw-r--. 1 xsge xsge 181613808 6月   3 18:08 mysql-community-server-5.7.31-1.el7.x86_64.rpm
8 -rw-rw-r--. 1 xsge xsge   2247528 9月  10 19:11 redis-6.0.8.tar.gz
9 [xsge@localhost downfiles]$ tar -xvf redis-6.0.8.tar.gz      ####解壓Redis安裝包

  解壓redis-6.0.8.tar.gz ,並把redis-6.0.8目錄移動到/usr/local目錄(或者opt目錄:通常程序文件放置在/opt目錄下)

1 [root@localhost downfiles]#  mv  redis-6.0.8   /usr/local/redis-6.x    #推薦(如果redis-6.x目錄不存在,請進入local目錄新建:mkdir  redis-6.x)
  或者
2 [root@localhost downfiles]# mv redis-6.0.8 /opt

2、安裝

  1、環境安裝

  Redis是C語言開發,安裝Redis需要先將Redis的源碼進行編譯,編譯依賴gcc環境。因此需要安裝GCC,安裝過程中有提示時,輸入Y即可。(make命令必須在Redis程序目錄下執行)

####安裝GCC環境
[root@localhost ~]# yum install gcc-c++
####查看GCC版本(ContOS7默認安裝4.8.5版本)
[root@localhost ~]# gcc -v

####進入Redis程序目錄
cd  /usr/local/redis-6.x
####make命令,下載環境並編譯Redis程序(CentOS7執行會報錯)
make

  常見錯誤如下圖:原因是因為gcc版本過低,yum安裝的gcc是4.8.5的。因此需要升級gcc。升級gcc到5.3以上版本。(如果沒有此錯誤忽略不計)

CentOS7安裝有默認GCC環境,默認4.8.5版本!編譯 redis-6.x,要求 C5.3以上 編譯器,否則會遇到大量的錯誤。主要原因是從 redis-6.x 開始的多線程代碼依賴C標准庫中的新增類型 _Atomic 。但是注意 gcc 從 4.9 版本才開始正式和完整地支持 stdatomic(gcc-4.8.5 部分支持)。centos7默認的 gcc 版本為:4.8.5 < 5.3 無法編譯

  2、升級GCC環境

    雖然此次編譯出錯,但是仍有一些文件已經編譯生成,所以建議清除已經編譯的文件。(如果沒有編譯出錯,忽略不計)(make命令必須在Redis程序目錄下執行)

 1 # 當Redis編譯出錯時,使用命令清除已編譯生成的文件(不執行也可以:不推薦)     
 2 make  distclean
 3 ####升級GCC環境為9版本
 4 yum  -y  install  centos-release-scl
 5 yum  -y  install  devtoolset-9-gcc  devtoolset-9-gcc-c++  devtoolset-9-binutils
 6 
 7 -------環境設置----------
 8 #臨時有效,退出 shell 或重啟會恢復原 gcc 版本
 9 scl enable devtoolset-9 bash
10 
11 #長期有效
12 echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile

    參考:GCC源碼地址里面有GCC的各個版本,進入Redis中文網評論里也有網友說明GCC升級方式方法。

 2、Redis安裝

  參考官網安裝說明!

  1、進入Redis程序目錄:cd  /usr/local/redis-6.x/

  2、編譯Redis程序:make

  3、安裝Redis:make install

 1 ####進入Redis程序目錄。
 2 [root@localhost redis-6.0.8]# cd  /usr/local/redis-6.x/redis-6.0.8
 3 
 4 ####執行Redis程序編譯
 5 [root@localhost redis-6.0.8]# make  
 6  
 7 ####執行安裝
 8 [root@localhost redis-6.0.8]#  make  install      ##將Redis安裝在Linux默認位置:/usr/local/bin
 9 或者(推薦)
10 [root@localhost redis-6.0.8]# make  install  PREFIX=/usr/local/redis-6.x     ##將Redis安裝在指定位置: /usr/local/redis-6.x/bin   (bin是安裝自動生成的)
11 
12 ####進入redis-6.x目錄
13 [root@localhost redis-6.0.8]# cd  /usr/local/redis-6.x
14 ####查看所有文件
15 [root@localhost redis6.x]# ls
16 bin  redis-6.0.8
17 ####進入bin目錄:查看安裝的Redis命令
18 [root@localhost redis6.x]# cd bin
19 [root@localhost bin]# ll
20 總用量 46088
21 -rwxr-xr-x. 1 root root 6399120 10月 20 14:50 redis-benchmark
22 -rwxr-xr-x. 1 root root 11351968 10月 20 14:50 redis-check-aof
23 -rwxr-xr-x. 1 root root 11351968 10月 20 14:50 redis-check-rdb
24 -rwxr-xr-x. 1 root root 6727200 10月 20 14:50 redis-cli
25 lrwxrwxrwx. 1 root root 12 10月 20 14:50 redis-sentinel -> redis-server
26 -rwxr-xr-x. 1 root root 11351968 10月 20 14:50 redis-server

  4、配置Redis。

  復制redis核心配置文件在安裝命令目錄中(默認位置在/usr/local/bin)。我在安裝時選擇了安裝在指定位置(/usr/local/redis-6.x/bin),redis配置文件需要放在名錄目錄下。

  說明redis配置文件:在redis程序目錄中

 1 ####進入redis安裝目錄bin
 2 [root@localhost bin]# cd /usr/local/redis6.x/bin/
 3 ####創建目錄conf:用於存放配置文件
 4 [root@localhost bin]# mkdir conf
 5 ####查看創建結果
 6 [root@localhost bin]# ll
 7 總用量 46088
 8 drwxr-xr-x. 2 root root 6 10月 20 15:10 conf
 9 -rwxr-xr-x. 1 root root 6399120 10月 20 14:50 redis-benchmark
10 -rwxr-xr-x. 1 root root 11351968 10月 20 14:50 redis-check-aof
11 -rwxr-xr-x. 1 root root 11351968 10月 20 14:50 redis-check-rdb
12 -rwxr-xr-x. 1 root root 6727200 10月 20 14:50 redis-cli
13 lrwxrwxrwx. 1 root root 12 10月 20 14:50 redis-sentinel -> redis-server
14 -rwxr-xr-x. 1 root root 11351968 10月 20 14:50 redis-server
15 ####復制Redis程序目錄中的配置文件放入到redis命令所在conf目錄中
16 [root@localhost bin]# cp /usr/local/redis6.x/redis-6.0.8/redis.conf /usr/local/redis6.x/bin/conf/
17 ####進入redis命令conf目錄
18 [root@localhost bin]# cd conf/
19 ####查看配置文件
20 [root@localhost conf]# ll
21 
22 -rw-r--r--. 1 root root 84642 10月 20 15:10 redis.conf

3、Redis啟動測試

  1、進入Redis安裝目錄bin

  2、使用命令啟動Redis服務(測試Redis服務會占用一個窗口)

 1 ####進入redis命令目錄
 2 [root@localhost ~]# cd /usr/local/redis6.x/bin/
 3 ####啟動reidis服務:並指定使用的配置文件
 4 [root@localhost bin]# ./redis-server conf/redis.conf
 5 2414:C 20 Oct 2020 15:53:10.901 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
 6 2414:C 20 Oct 2020 15:53:10.901 # Redis version=6.0.8, bits=64, commit=00000000, modified=0, pid=2414, just started
 7 2414:C 20 Oct 2020 15:53:10.901 # Configuration loaded
 8 2414:M 20 Oct 2020 15:53:10.902 * Increased maximum number of open files to 10032 (it was originally set to 1024).
 9                 _._                                                  
10            _.-``__ ''-._                                             
11       _.-``    `.  `_.  ''-._           Redis 6.0.8 (00000000/0) 64 bit
12   .-`` .-```.  ```\/    _.,_ ''-._                                   
13  (    '      ,       .-`  | `,    )     Running in standalone mode
14  |`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379
15  |    `-._   `._    /     _.-'    |     PID: 2414
16   `-._    `-._  `-./  _.-'    _.-'                                   
17  |`-._`-._    `-.__.-'    _.-'_.-'|                                  
18  |    `-._`-._        _.-'_.-'    |           http://redis.io        
19   `-._    `-._`-.__.-'_.-'    _.-'                                   
20  |`-._`-._    `-.__.-'    _.-'_.-'|                                  
21  |    `-._`-._        _.-'_.-'    |                                  
22   `-._    `-._`-.__.-'_.-'    _.-'                                   
23       `-._    `-.__.-'    _.-'                                       
24           `-._        _.-'                                           
25               `-.__.-'                                               

  3、新開連接窗口,啟動客戶端連接redis服務器

 1 ####進入reids命令目錄
 2 [root@localhost ~]# cd /usr/local/redis6.x/bin/
 3 ####啟動客戶端連接服務器:並指定端口
 4 [root@localhost bin]# ./redis-cli -p  6379
 5 ####測試連接
 6 127.0.0.1:6379> ping
 7 PONG
 8 ####停止Redis服務,並斷開連接
 9 127.0.0.1:6379> shutdown
10 not connected> exit  #### 退出redis
11 [root@localhost bin]# 

4、配置Redis為后台啟動

  以上的Redis安裝和啟動可以算是臨時服務,當開啟服務后,Redis服務窗口是無法在使用的,可以將Redis服務設置為后台啟動服務,避免Linux窗口連接的浪費。

  1、VIM編譯Redis配置文件redis.conf

  2、開啟Redis后台服務(默認是關閉的)

  步驟1:vim   /usr/local/redis6.x/bin/conf/redis.conf  #打開編輯

    (鍵入命令 :set nu 顯示行號)

  步驟2:輸入i、I、a等進入插入模式

  步驟3:將daemonize no 改成daemonize yes(表示開啟redis后台服務:約225行)

  步驟4:按ESC退出插入模式,輸入:wq 保存退出

   3、測試

1 ####啟動redis服務
2 [root@localhost bin]# ./redis-server conf/redis.conf  
3 ####此時redis服務已經作為后台服務啟動,不再占用窗口,直接在本窗口啟用客戶端測試連接
4 [root@localhost bin]# ./redis-cli -p 6379
5 127.0.0.1:6379> ping
6 PONG
7 127.0.0.1:6379> 

  4、查看Redis服務進程

1 ####查看進程服務,過濾獲取redis的
2 [root@localhost bin]# ps -ef | grep redis
3 root       2811      1  0 16:23 ?        00:00:00 ./redis-server 127.0.0.1:6379
4 root       2824   2352  0 16:23 pts/1    00:00:00 ./redis-cli -p 6379
5 root       2854   1769  0 16:27 pts/0    00:00:00 grep --color=auto redis
6 [root@localhost bin]# 

  5、Redis的關閉

  Redis客戶端關閉或進程關閉(pkill redis)

1 [root@localhost bin]# ./redis-cli -p 6379    ##啟動客戶端連接Redis服務
2 127.0.0.1:6379> ping
3 PONG
4 127.0.0.1:6379> shutdown      ##關閉服務端連接
5 not connected> exit         ##退出 

或者
6 [root@localhost bin]# pkill redis    ##結束Redis進程

 5、卸載

  刪除Redis安裝和Redis解壓的文件即可

1 #刪除安裝目錄
2 rm  -rf  /usr/local/redis-6.x/redis-6.0.8
3 #刪除所有redis相關命令腳本
4 rm  -rf  /usr/local/redis-6.x/bin/redis-* 

 

 

 

  

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM