CentOS7編譯安裝Redis6.0.9


CentOS7編譯安裝Redis6.0.9

一、下載源碼包

官網:https://redis.io/

下載地址:https://redis.io/download

可以在Windows上打開下載地址,在如下界面上選擇穩定版下載源碼包,然后傳到Linux上。

也以在直接在Linux上下載。

curl -O https://download.redis.io/releases/redis-6.0.9.tar.gz

然后解壓下載好的壓縮包,把解壓后的文件夾移動到/usr/local下,並重命名。

tar -xzf redis-6.0.9.tar.gz
mv redis-6.0.9 /usr/local/redis

二、編譯安裝

先下載編譯安裝Redis的依賴,因為Redis是C語言編寫的,所以主要安裝C的編譯環境

yum install gcc g++ gcc-c++ make -y

進入移動重命名后的redis文件夾進行編譯安裝

cd /usr/local/redis

# 開始編譯
make -j 2

編譯安裝過程中出現大量錯誤如下圖所示:

這是因為安裝6版本的Redis需要5.3以上版本的gcc,而先前YUM安裝的gcc默認安裝的是4.8.5版本。

# 查看gcc版本
gcc -v

升級gcc到9版本

yum install centos-release-scl -y
yum install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils -y

然后啟用gcc 9。我看到有些博客中寫到啟用gcc9的方法如下

# 臨時啟用gcc 9
scl enable devtoolset-9 bash

# 長期啟用gcc 9
echo "source /opt/rh/devtoolset-9/enable" >> /etc/profile

這種臨時啟用的方法我發現單獨在終端執行沒有問題,不過把它寫到腳本里執行的時候,執行到這一句就會退出腳本,我還不清楚是什么原因。所以在腳本中我直接使用source /opt/rh/devtoolset-9/enable臨時啟用gcc 9。

執行完畢后gcc升級到9.3.1版本

升級好gcc后重新編譯

# 清除之前編譯的可執行文件及配置文件。
make clean

make -j 2

make install

三、啟動Redis

編譯完成后,在/usr/local/redis/src目錄中多了兩個可執行文件redis-cli和redis-server。

redis-server用於啟動Redis服務

redis-cli是Redis的客戶端

/usr/local/bin目錄中也多了幾個可執行文件

執行redis-server,出現如下界面說明Redis算是裝好了。不過有幾個警告需要處理一下,解決的方法在警告信息中已經給出了。

# 第一個警告的解決方法
echo net.core.somaxconn=511 >> /etc/sysctl.conf

# 第二個警告的解決方法
echo vm.overcommit_memory=1 >> /etc/sysctl.conf
# 使/etc/sysctl.conf生效
sysctl -p

# 第三個警告的解決方法
echo never > /sys/kernel/mm/transparent_hugepage/enabled

之后再重新執行redis-server,可以看到,警告信息消失了。Redis服務順利啟動。

此時Redis服務在前台執行,修改Redis的配置文件,讓Redis服務可以在后台運行

vim /usr/local/redis/redis.conf

將daemonize no改為daemonize yes,然后使用配置文件重新啟動redis

cd /usr/local/bin/

# 啟動redis服務
./redis-server ../redis/redis.conf

# 啟動redis客戶端
redis-cli

打開Redis客戶端,可以成功存儲數據。


免責聲明!

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



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