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-*