Centos 6.4 安裝 redis 3.2. (安裝參考:Redis 源碼安裝)
| Centos222 |
Centos224 |
| [centos222]# redis-cli 127.0.0.1:6379>set kk 123 127.0.0.1:6379>get kk "123" 127.0.0.1:6379>get mm (nil) 127.0.0.1:6379>exit |
[centos224]# redis-cli 127.0.0.1:6379>set kk 123 127.0.0.1:6379>get mm "22222" 127.0.0.1:6379>get kk (nil) 127.0.0.1:6379>exit |
| 接下來需要遠端存取,設定檔設定區域網路IP,關閉保護模式 vi /etc/redis/6379.conf |
| bind 127.0.0.1 192.168.1.222 protected-mode no |
bind 127.0.0.1 192.168.1.224 protected-mode no |
| 重啟redis 服務,添加入站連接埠,可相互訪問對方的redis伺服器。 |
| [centos222]# iptables -I INPUT -p tcp --dport 6379 -j ACCEPT [centos222]# redis-cli -h 192.168.1.224 -p 6379 192.168.1.224:6379> get mm "22222" |
[centos222]# iptables -I INPUT -p tcp --dport 6379 -j ACCEPT [centos224]# redis-cli -h 192.168.1.222 -p 6379 192.168.1.222:6379> get kk "123" |
| 訪問沒有密碼,不安全,現在設定系統密碼參數 requirepass (以centos222為例,兩台伺服器都需要設定) |
| 127.0.0.1:6379> config get requirepass #查看參數資訊 1) "requirepass" 2) "" 127.0.0.1:6379> config set requirepass 123456 #設定參數(密碼)值 OK 127.0.0.1:6379> config get requirepass #設定密碼後無法操作 (error) NOAUTH Authentication required. 127.0.0.1:6379> auth 123456 #使用密碼訪問 OK 127.0.0.1:6379> get kk "123" 127.0.0.1:6379> exit [centos222]# redis-cli -h 192.168.1.224 -p 6379 -a 123456 #遠端存取 192.168.1.224:6379> get mm "22222" 192.168.1.224:6379> |
| 但是,當redis服務重啟之後,requirepass 密碼失效了,變回了空值 要永久生效,在設定檔添加該參數:vi /etc/redis/6379.conf |
| requirepass 123456 |
| 開始配置主從複製了。非常簡單。主要使用配置參數 slaveof。 vi /etc/redis/6379.conf |
| Centos222 (master) |
Centos224 (slave) |
| bind 127.0.0.1 192.168.1.222 protected-mode no port 6379 requirepass 654321 |
bind 127.0.0.1 192.168.1.224 protected-mode no port 6379 requirepass 654321 slaveof 192.168.1.222 6379 masterauth 654321 slave-read-only yes |
| 配置完成,重啟服務。發現在master設定的key,在slave可以讀取(slave唯讀)。主從配置完成。 |
| [root@centos222 ~]# redis-cli 127.0.0.1:6379> auth 654321 OK 127.0.0.1:6379> set qq 6666666 OK 127.0.0.1:6379> get qq "6666666" 127.0.0.1:6379> |
[root@centos224 ~]# redis-cli 127.0.0.1:6379> auth 654321 OK 127.0.0.1:6379> get qq "6666666" 127.0.0.1:6379> 127.0.0.1:6379> set pp 444 (error) READONLY You can't write against a read only slave. |
| info Replication 查看複製配置資訊 |
| 127.0.0.1:6379> info Replication # Replication role:master connected_slaves:1 slave0:ip=192.168.1.224,port=6379,state=online,offset=392,lag=0 master_repl_offset:392 repl_backlog_active:1 repl_backlog_size:1048576 repl_backlog_first_byte_offset:2 repl_backlog_histlen:391 |
127.0.0.1:6379> info Replication # Replication role:slave master_host:192.168.1.222 master_port:6379 master_link_status:up master_last_io_seconds_ago:3 master_sync_in_progress:0 slave_repl_offset:420 slave_priority:100 slave_read_only:1 connected_slaves:0 master_repl_offset:0 repl_backlog_active:0 repl_backlog_size:1048576 repl_backlog_first_byte_offset:0 repl_backlog_histlen:0 |
| |
|
兩篇理論比較好的博文: redis持久化RDB和AOF Redis持久化
安全及漏洞:Redis Crackit 入侵事件分析