cd /usr/local/src/ wget https://download.redis.io/releases/redis-5.0.13.tar.gz
#看到redis-5.0.13.tar.gz 檔案就說明下載成功了
tar -zxvf redis-5.0.13.tar.gz
解壓縮完成後進入解壓縮後的資料夾會看到如下的檔案內容
cd redis-5.0.13 ll -rw-rw-r--. 1 root root 125833 Jul 22 02:07 00-RELEASENOTES -rw-rw-r--. 1 root root 53 Jul 22 02:07 BUGS -rw-rw-r--. 1 root root 2381 Jul 22 02:07 CONTRIBUTING -rw-rw-r--. 1 root root 1487 Jul 22 02:07 COPYING drwxrwxr-x. 6 root root 124 Jul 22 02:07 deps -rw-rw-r--. 1 root root 11 Jul 22 02:07 INSTALL -rw-rw-r--. 1 root root 151 Jul 22 02:07 Makefile -rw-rw-r--. 1 root root 6888 Jul 22 02:07 MANIFESTO -rw-rw-r--. 1 root root 20555 Jul 22 02:07 README.md -rw-rw-r--. 1 root root 63088 Jul 22 02:07 redis.conf -rwxrwxr-x. 1 root root 275 Jul 22 02:07 runtest -rwxrwxr-x. 1 root root 280 Jul 22 02:07 runtest-cluster -rwxrwxr-x. 1 root root 373 Jul 22 02:07 runtest-moduleapi -rwxrwxr-x. 1 root root 281 Jul 22 02:07 runtest-sentinel -rw-rw-r--. 1 root root 9710 Jul 22 02:07 sentinel.conf drwxrwxr-x. 3 root root 4096 Jul 22 02:07 src drwxrwxr-x. 11 root root 182 Jul 22 02:07 tests drwxrwxr-x. 8 root root 4096 Jul 22 02:07 utils
make
通常會出現一下錯誤,不要慌,由於redis 是用C 語言開發,安裝之前必先確認是否安裝gcc 環境(gcc -v),如果沒有安裝,執行以下命令進行安裝 yum install -y gcc
gcc環境安裝成功後,執行 make distclean 清楚之間的make記錄,然後重新make
make install PREFIX=/usr/local/redis
vi /etc/profile #在最后面加上以下内容 export REDIS_HOME=/usr/local/redis export PATH=$PATH:$REDIS_HOME/bin #使环境变量生效 source /etc/profile
1.6.1:從redis 的原始碼目錄複製redis.conf 到redis 的安裝目錄
cp /usr/local/src/redis-5.0.13/redis.conf /usr/local/redis/bin/
1.6.2:修改redis.conf 文件,把daemonize no 改為daemonize yes,讓redis當守護執行緒啟動
cd /usr/local/redis/bin/ vi redis.conf
1.6.3:後台啟動,並且連結redis測試, 執行一下指令啟動redis
redis-server /usr/local/redis/bin/redis.conf
然後執行redis-cli 連接redis,然後set get 資料測試
至此,單機版redis已經安裝成功了! ! !
redis-cli shutdown
說明本文的redis叢集版本,使用的是主從複製的叢集版本安裝
#sentinel-1 配置文件修改内容 port 26379 sentinel monitor mymaster 192.168.33.100 6379 2 #sentinel-2 配置文件修改内容 port 26380 sentinel monitor mymaster 192.168.33.100 6379 2 #sentinel-3 配置文件修改内容 port 26380 sentinel monitor mymaster 192.168.33.100 6379 2
sentinel monitor
2.3:修改redis-server的設定檔 redis.conf
# redis-1 的 redis.conf配置 port 6379 # redis-2 的 redis.conf配置 port 6380 replicaof 127.0.0.1 6379 # redis-3 的 redis.conf配置 port 6381 replicaof 127.0.0.1 6379
cd /usr/local/redis/bin redis-sentinel sentinel.conf
2.6.1:連線到主redis服務,檢視叢集情況,可以看到有目前redis為master,其他兩台redis服務為slave
redis-cli -h 192.168.33.100 -p 6379 info replication #得到以下内容 role:master connected_slaves:2 slave0:ip=192.168.33.101,port=6380,state=online,offset=246573,lag=1 slave1:ip=192.168.33.102,port=6381,state=online,offset=246706,lag=0 master_replid:bc4a9331019d765fe16199fcdcb357b4681a9f75 master_replid2:b41587d209ec96c2b2c634c1880fed7b12ded6e8 master_repl_offset:246839 second_repl_offset:221755 repl_backlog_active:1 repl_backlog_size:1048576 repl_backlog_first_byte_offset:9553 repl_backlog_histlen:237287
2.6.2:停止redis主服務
redis-cli -h 192.168.33.100 -p 6379 shutdown
2.6.3:查看sentinel服務的日誌,可以看到redis主服務宕機,sentinel服務主動切換6381為主redis服務
#2.6.4:再次啟動6379埠redis 服務查看叢集情況,可以看到,6379已經變成從服務了
以上是Redis單機安裝和哨兵模式群集安裝怎麼實現的詳細內容。更多資訊請關注PHP中文網其他相關文章!