1. 程式人生 > >CentOS下Redis的安裝及報錯處理

CentOS下Redis的安裝及報錯處理

參考資料:

前言

安裝Redis需要知道自己需要哪個版本,有針對性的安裝,比如如果需要redis GEO這個地理集合的特性,那麼redis版本就不能低於3.2版本,由於這個特性是3.2版本才有的。另外需要注意的是,Redis約定次版本號(即第一個小數點後的數字)為偶數的版本是穩定版(如2.8版、3.0版),奇數版本是非穩定版(如2.7版、2.9版),生產環境下一般需要使用穩定版本。

下載安裝包

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

解壓安裝包並安裝

tar xzf redis-4.0.2.tar.gz
cd redis-4.0.2
make
make install

Redis沒有其他外部依賴,安裝過程很簡單。編譯後在Redis原始碼目錄的src資料夾中可以找到若干個可執行程式,安裝完後,在/usr/local/bin目錄中可以找到剛剛安裝的redis可執行檔案。
如下圖:

啟動和停止Redis

直接啟動

直接執行redis-server即可啟動Redis

[[email protected] bin]# redis-server

通過初始化指令碼啟動Redis

在Redis原始碼目錄的utils資料夾中有一個名為redis_init_script的初始化指令碼檔案。需要配置Redis的執行方式和持久化檔案、日誌檔案的儲存位置。步驟如下:

1、配置初始化指令碼

首先將初始化指令碼複製到/etc/init.d 目錄中,檔名為 redis_埠號,其中埠號表示要讓Redis監聽的埠號,客戶端通過該埠連線Redis。然後修改指令碼第6行的REDISPORT變數的值為同樣的埠號。

2、建立以下需要的資料夾。

目錄名 Value
/etc/redis 存放Redis的配置檔案
/var/redis/埠號 存放Redis的持久化檔案

3、修改配置檔案

首先將配置檔案模板(redis-4.0.2/redis.conf)複製到/etc/redis 目錄中,以埠號命名(如“6379.conf”),然後按照下表對其中的部分引數進行編輯。

引數 說明
daemonize yes 使Redis以守護程序模式執行
pidfile /var/run/redis_埠號.pid 設定Redis的PID檔案位置
port 埠號 設定Redis監聽的埠號
dir /var/redis/埠號 設定持久化檔案存放位置

現在也可以使用下面的命令來啟動和關閉Redis了

/etc/init.d/redis_6379 start
/etc/init.d/redis_6379 stop

重要:讓Redis隨系統自動啟動,這還需要對Redis初始化指令碼進行簡單修改,執行命令:

vim /etc/init.d/redis_6379

在開啟的redis初始化指令碼檔案頭部第四行的位置,追加下面兩句

# chkconfig: 2345 90 10 
# description: Redis is a persistent key-value database

上圖紅色框中就是追加的兩行註釋,新增完畢後進行儲存,即可通過下面的命令將Redis加入系統啟動項裡了

//設定開機執行redis指令碼
chkconfig redis_6379 on

通過上面的操作後,以後也可以直接用下面的命令對Redis進行啟動和關閉了,如下

service redis_6379 start
service redis_6379 stop

經過上面的部署操作後,系統重啟,Redis也會隨著系統自動啟動,並且上面的步驟裡也配置了Redis持久化,下次啟動系統或Redis時,有快取資料不丟失的好處。

停止Redis

考慮到 Redis 有可能正在將記憶體中的資料同步到硬碟中,強行終止 Redis 程序可能會導致資料丟失。正確停止Redis的方式應該是向Redis傳送SHUTDOWN命令,方法為:

redis-cli SHUTDOWN

當Redis收到SHUTDOWN命令後,會先斷開所有客戶端連線,然後根據配置執行持久化,最後完成退出。
Redis可以妥善處理 SIGTERM訊號,所以使用 kill Redis 程序的 PID也可以正常結束Redis,效果與傳送SHUTDOWN命令一樣。

安裝過程可能遇到的問題:

1、CentOS5.7預設沒有安裝gcc,這會導致我們無法make成功。使用yum安裝:

yum -y install gcc

2、make時報如下錯誤:

zmalloc.h:50:31: error: jemalloc/jemalloc.h: No such file or directory
zmalloc.h:55:2: error: #error "Newer version of jemalloc required"
make[1]: *** [adlist.o] Error 1
make[1]: Leaving directory `/data0/src/redis-2.6.2/src'
make: *** [all] Error 2

原因是jemalloc過載了Linux下的ANSI C的malloc和free函式。解決辦法:make時新增引數。

make MALLOC=libc

make之後,會出現一句提示

Hint: To run 'make test' is a good idea ;) 

但是不測試,通常是可以使用的。若我們執行make test ,會有如下提示

[[email protected] src]$ make test
You need tcl 8.5 or newer in order to run the Redis test
make: ***[test] Error_1

解決辦法是用yum安裝tcl8.5(或去tcl的官方網站http://www.tcl.tk/下載8.5版本,並參考官網介紹進行安裝)

yum install tcl

相關推薦

CentOSRedis安裝處理

參考資料: 前言 安裝Redis需要知道自己需要哪個版本,有針對性的安裝,比如如果需要redis GEO這個地理集合的特性,那麼redis版本就不能低於3.2版本,由於這個特性是3.2版本才有的。另外需要注意的是,Redis約定次版本號(即第一個小數點後的數字)為

centospip安裝mysql_pythonmysql_config not found

1.安裝mysql_python時,出現如下錯誤: Collecting mysql-python (from -r pip_requirements.txt (line 8))   Using cached&nb

Logstash在win7系統64位安裝流程&處理

JAVA環境:安裝jdk並配置環境變數   官方提示需求java8: Logstash requires Java 8. Java 9 is not supported. win7安裝&配置java8教程: https://jingyan.baidu.c

Jenkins系列_外掛安裝處理

進入Jenkins之後我們可以進行外掛的安裝,外掛管理位於以下模組:發現上面報了一堆錯誤,是因為外掛的依賴沒有安裝好,那麼這一節,就先把這些錯誤解決掉吧。解決完成後,也就基本會使用外掛中心了。先貼個jenkins外掛下載地址,待會我們要通過下載相應的外掛來修復這些錯誤。報錯解

ubuntu16.04 CRF++安裝處理

安裝 1.下載CRF++-0.58.tar.gz 2.cd到壓縮包目錄,執行: (1) tar zxvf CRF++-0.58.tar.gz (2)cd CRF++-0.58 (3)./configure (4)make (5)su (6)ma

ubuntu14.04中qemu編譯安裝處理

ubuntu下原始碼編譯安裝步驟 @oli:  ./configure --target-list=x86_64-softmmu, x86_64-linux-user @oli:  make -j4 @oli:  make install -j4 ubuntu編譯qemu報

ubuntu安裝curl處理

1)安裝curl 1.1  下載安裝包 wget https://curl.haxx.se/download/curl-7.55.1.tar.gz 1.2 解壓 tar -xzvf curl-7.55.1.tar.gz 1.3 安裝 cd curl-

安裝:matplotlib處理

在pycharm中安裝matplotlib時一直提示出錯。 後來嘗試通過cmd進行安裝:管理員模式下啟動cmd,直接輸入pip install matplotlib 安裝到中途時,又再次出錯。這是,再次在管理員模式下啟動cmd,直接輸入pip install matplotlib 重複多次

python的複雜網路程式設計包networkx、matplotlib、numpy安裝解決方案

前言:python和matplotlib 、 numpy、networkx Python是一種解釋性語言(儘管是高度優化過的),和C或者Fortran相比,這類語言對很多重數值演算法來說執行緩

Anaconda簡介CentOS安裝使用

windows系統 https hive 窗口 python 管理 版本 包安裝 arch 一、Anaconda簡介Anaconda是一個用於科學計算的Python發行版,支持 Linux, Mac, Windows系統,提供了包管理與環境管理的功能,可以很方便地解決多版本

Hadoop jps正確使用流程處理

Hadoop簡介:jps(Java Virtual Machine Process Status Tool)是JDK 1.5提供的一個顯示當前所有java進程pid的命令,簡單實用,非常適合在linux/unix平臺上簡單察看當前java進程的一些簡單情況。詳細參數請參考:https://www.cnblog

linuxredis安裝配置介紹

1.安裝 wget http://download.redis.io/releases/redis-3.0.4.tar.gz tar -zvxf redis-3.0.4.tar.gz cd redis-3.0.4.tar.gz make mkdir /usr/local/redis

記錄sk-video的安裝以及處理

遇到一個專案的程式碼是使用sk-video讀取視訊資料,在使用pip install sk-video命令完成安裝之後,卻發現無法讀取視訊。後來發現需要使用ffmpeg作為後端。但是使用使用pip install ffmpeg之後,安裝完成ffmpeg之後,卻還是無法實現。 在github上

Redis學習01_redis安裝部署(centosRedis學習(一):CentOSredis安裝和部署

原文: http://www.cnblogs.com/herblog/p/9305668.html Redis學習(一):CentOS下redis安裝和部署   1.基礎知識  redis是用C語言開發的一個開源的高效能鍵值對(key-value)資料庫。它通過提

lnmpredis安裝php擴充套件

1、下載,解壓,編譯redis $ cd /usr/local $ wget http://download.redis.io/releases/redis-3.2.8.tar.gz $ tar -zxvf redis-3.2.8.tar.gz $ cd redis-3.2.8 $ make 2

Centos 7 docker 安裝 以及解決。

Docker 要求 CentOS 系統的核心版本高於 3.10。鑑於centos6.x的版本核心達到3.10。所以採用centos 7 進行安裝。 1、檢視你當前的核心版本   uname -r   2、確保 yum 包更新到最新   yum update   3、從d

win10redis安裝配置相關坑的講解

首先redis安裝配置網上一搜一堆。這裡建議大家下載3.2的相關版本,不建議下載最新的4.0 考慮的是穩定性的問題。那麼具體下載那些呢? 分為兩種情況,取決於你是否需要將redis當成預設服務啟動。我這裡著重於講解當做預設服務啟動。 一。下載安裝包,預設為服務啟動的情況。 gitHub下載

cartographer 安裝

cartographer安裝分為兩種,一種為國內大神張明明修改安裝版(自己實測沒問題),一種為官方安裝教程(裝了n遍一直報錯,最終改好了,不的不說官網就是個坑).... 向大神致敬,第一種國內大神修改版如下: 1.install dependency $  sudo a

mysql編譯安裝詳解

本次編譯安裝版本是mysql-5.5.61 mysql下載連線 安裝mysql,我們需要提前建立好mysql使用者,並且禁止mysql登入伺服器,不建立家目錄。 useradd mysql -M -s /sbin/nologin id mysql id my

CentOSMySQL安裝失敗,socket '/tmp/mysql.sock錯誤解決方法

1、在centos裡安裝mysql資料庫後,登入時提示‘/tmp/mysql.sock’第一種解決辦法:採用ln連結方式進行處理ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock        因為是從tmp目錄下,所以有可能/tm