Redis安裝以及常見問題
阿新 • • 發佈:2020-11-23
安裝
下載
redis官網地址:
centos安裝
- 建立軟體放置目錄
mkdir soft
- 進入soft目錄並下載redis安裝包。
cd soft
wget https://download.redis.io/releases/redis-6.0.9.tar.gz
- 解壓
tar -zxvf redis-6.0.9.tar.gz
- 進入解壓後目錄,並檢視README檔案。瞭解軟體說明和使用方式。
# 閱讀README,檢視軟體說明。可以得知在根目錄下執行make命令
vi README
- 執行
make
命令進行編譯。正確編譯後可在src目錄下看到執行redis的方法
- 建立服務,便於日後進行管理
make PREFIX=/opt/endea/redis install
#設定環境變數
vi /etc/profile
REDIS_HOME=/opt/endea/redis
export PATH=$PATH:$REDIS_HOME/bin
source /etc/profile
cd /utils
./install_server.sh
#一步一步安裝,選擇埠號,配置檔案目錄,日誌目錄,資料目錄;可以執行多次,執行一次安裝建立一個redis例項程序,但是埠號不能一致
常見問題
make失敗問題
根據日誌進行檢視,結合日誌進行檢視
未安裝編譯工具引起
yum install gcc
gcc版本問題引起
報錯如下:
server.c:5127:29: 錯誤:‘struct redisServer’沒有名為‘pidfile’的成員 if (background || server.pidfile) createPidFile(); ^ server.c:5132:16: 錯誤:‘struct redisServer’沒有名為‘sentinel_mode’的成員 if (!server.sentinel_mode) { ^ server.c:5142:19: 錯誤:‘struct redisServer’沒有名為‘cluster_enabled’的成員 if (server.cluster_enabled) { ^ server.c:5150:19: 錯誤:‘struct redisServer’沒有名為‘ipfd_count’的成員 if (server.ipfd_count > 0 || server.tlsfd_count > 0) ^ server.c:5150:44: 錯誤:‘struct redisServer’沒有名為‘tlsfd_count’的成員 if (server.ipfd_count > 0 || server.tlsfd_count > 0)
原因: gcc版本和redis版本不相容
檢視gcc版本:
gcc -v
解決方法:升級gcc版本
yum -y install centos-release-scl # 升級到9.1版本
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
#永久使用gcc9.1版本
echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile
#臨時使用gcc9.1版本
scl enable devtoolset-9 bash
./install_server.sh安裝失敗問題
問題如下:
This systems seems to use systemd.
Please take a look at the provided example service unit files in this directory, and adapt and install them. Sorry!
解決方案:
開啟install_server.sh檔案(vi install_server.sh
),註釋如下內容即可。
#bail if this system is managed by systemd
#_pid_1_exe="$(readlink -f /proc/1/exe)"
#if [ "${_pid_1_exe##*/}" = systemd ]
#then
# echo "This systems seems to use systemd."
# echo "Please take a look at the provided example service unit files in this directory, and adapt and install them. Sorry!"
# exit 1
#fi