Linux 下安裝
本教程使用的版本為 4.0.12,下載并安裝:
Redis是一個開源、支持網絡、基于內存、鍵值對存儲數據庫,使用ANSI C編寫。所以在搭建Redis服務器時需要C語言的編譯環境gcc或g++。
# 1. **環境確認**
首先確認系統中是否存在C語言的編譯環境,終端運行如下命令:
#gcc –version
或
#g++ --version
如果出現如下字樣則表示系統中存在C語言的編譯環境,不需要安裝。
gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-44)
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE
或
g++ (GCC) 4.1.2 20080704 (Red Hat 4.1.2-44)
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
如果沒有,就需要在系統中安裝gcc、g++。
在有網絡的環境下 執行
yum install gcc-c++
# 2. **redis安裝**
將redis-4.0.12.tar.gz解壓,然后安裝。步驟及相關命令如下:
#tar –zxvf redis-4.0.12.tar.gz
#cd redis-4.0.12
#make
#make install
出現

基本安裝成功了 使用Redis啟動腳本設置開機自啟動
# 3.**啟動腳本**
在生產環境中使用啟動腳本方式啟動redis服務。啟動腳本redis_init_script 位于位于Redis的 /utils/ 目錄下。
```
#redis用監聽的端口名作為配置文件命名
#redis服務器監聽的端口
REDISPORT=6379
#服務端所處位置,在make install后默認存放與/usr/local/bin/redis-server,如果未
make install則需要修改該路徑,下同。
EXEC=/usr/local/bin/redis-server
#客戶端位置
CLIEXEC=/usr/local/bin/redis-cli
#Redis的PID文件位置
PIDFILE=/var/run/redis_${REDISPORT}.pid
#配置文件位置,需要修改
CONF="/etc/redis/${REDISPORT}.conf"
```
1. 根據啟動腳本要求,將修改好的配置文件以端口為名復制一份到指定目錄。需使用root用戶。
`mkdir /etc/redis`
`cp redis.conf /etc/redis/6379.conf
`
修改/etc/redis/6379.conf
```
#讓redis以daemon進程運行 大概36行
daemonize yes
#設置redis的pid文件位置 大概158行
pidfile /var/run/redis_6379.pid
#設置redis的監聽端口號 大概92行
port 6379
#設置持久化文件的存儲位置 設置時候到具體目錄新建相應文件夾 大概263行
dir /var/redis/6379
#密碼設置 大概500行
requirepass xxxxxx
#設置過期通知 默認為 notify-keyspace-events "" 大概1042行
notify-keyspace-events Ex
```
2. 將啟動腳本復制到/etc/init.d目錄下,本例將啟動腳本命名為redisd(通常都以d結尾表示是后臺自啟動服務)。
`cp redis_init_script /etc/init.d/redisd
`
3. 設置為開機自啟動
此處直接配置開啟自啟動 chkconfig redisd on 將報錯誤: service redisd does not support chkconfig
在啟動腳本開頭添加如下兩行注釋以修改其運行級別:
```
#!/bin/sh
# chkconfig: 2345 90 10
# description: Redis is a persistent key-value database
#
```
```
#stop的時候加上密碼 -a xxxxxx
$CLIEXEC -a xxxxxx -p $REDISPORT shutdown
```
再設置即可成功。
#設置為開機自啟動服務器
chkconfig redisd on
#打開服務
service redisd start
#關閉服務
service redisd stop
# 3. **redis主從配置**
準備三個redis服務,我是阿里云的單機(10.17.22.33),所以就創建了3個文件夾master,slave1,slave2
修改配置文件(redis.conf):
master
```
port 6379
bind 0.0.0.0
protected-mode no
masterauth XXXXXX
requirepass XXXXX
```
slave1修改配置:
```
port 6380
bind 0.0.0.0
protected-mode no
slaveof 10.17.22.33 6379
masterauth XXXXXX
requirepass XXXXX
```
slave2修改配置:
```
port 6381
bind 0.0.0.0
protected-mode no
slaveof 10.17.22.33 6379
masterauth XXXXXX
requirepass XXXXX
```
分別啟動三個redis

設置sentinel.conf配置文件
```
bind 0.0.0.0
protected-mode no
port 26380
sentinel monitor mymaster 10.17.22.33 6379 1
sentinel auth-pass mymaster Aa123456
daemonize yes
logfile "/log/redis/sentinel.log"
```
redis-server sentinel.conf 啟動哨兵

啟動成功
在安裝過程中遇到的問題,哨兵同步不成功,修改阿里云安全組放行6379/6381端口