yum install -y wget gcc make tcl
創(chuàng)新互聯(lián)公司是一家專業(yè)提供榆中企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站制作、HTML5建站、小程序制作等業(yè)務(wù)。10年已為榆中眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站制作公司優(yōu)惠進(jìn)行中。
wget http://download.redis.io/releases/redis-3.0.2.tar.gz
tar zxvf redis-3.0.2.tar.gz
make
make test
如果報(bào)錯(cuò):
!!! WARNING The following tests failed:
*** [err]: Test replication partial resync: ok psync (diskless: yes, reconnect: 1) in tests/integration/replication-psync.tcl
Expected condition '[s -1 sync_partial_ok] > 0' to be true ([s -1 sync_partial_ok] > 0)
更改 tests/integration/replication-psync.tcl 文件:
vi tests/integration/replication-psync.tcl
把對(duì)應(yīng)報(bào)錯(cuò)的那段代碼中的 after后面的數(shù)字,從100改成 500。個(gè)人覺得,這個(gè)參數(shù)貌似是等待的毫秒數(shù)。
make install
cp redis.conf /etc/
touch /etc/init.d/redis
chmod 755 /etc/init.d/redis
----------------vi /etc/init.d/redis----------------
#!/bin/bash
#
# Init file for redis
#
# chkconfig: - 80 12
# description: redis daemon
#
# processname: redis
# config: /etc/redis.conf
# pidfile: /var/run/redis.pid
source /etc/init.d/functions
#BIN="/usr/local/bin"
BIN="/usr/local/bin"
CONFIG="/etc/redis.conf"
PIDFILE="/var/run/redis.pid"
### Read configuration
[ -r "$SYSCONFIG" ] && source "$SYSCONFIG"
RETVAL=0
prog="redis-server"
desc="Redis Server"
start() {
if [ -e $PIDFILE ];then
echo "$desc already running...."
exit 1
fi
echo -n $"Starting $desc: "
daemon $BIN/$prog $CONFIG
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog
return $RETVAL
}
stop() {
echo -n $"Stop $desc: "
killproc $prog
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$prog $PIDFILE
return $RETVAL
}
restart() {
stop
start
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
condrestart)
[ -e /var/lock/subsys/$prog ] && restart
RETVAL=$?
;;
status)
status $prog
RETVAL=$?
;;
*)
echo $"Usage: $0 {start|stop|restart|condrestart|status}"
RETVAL=1
esac
exit $RETVAL
----------------vi /etc/redis.conf----------------
daemonize yes
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Redis作為一個(gè)高速內(nèi)存鍵值對(duì)(Key-Value)數(shù)據(jù)庫,被廣泛的使用,如果是遠(yuǎn)程連接,必須考慮到安全問題。那么如何對(duì)Redis進(jìn)行安全設(shè)置呢?
redis密碼管理
一. 如何初始化redis的密碼?
總共2個(gè)步驟:
a.在配置文件中有個(gè)參數(shù): requirepass 這個(gè)就是配置redis訪問密碼的參數(shù)。
比如 requirepass test123
b.配置文件中參數(shù)生效需要重啟重啟redis 。 vi /etc/redis.conf
二.不重啟redis如何配置密碼?
a. 在配置文件中配置requirepass的密碼(當(dāng)redis重啟時(shí)密碼依然有效)。
# requirepass foobared
如 修改成 :
requirepass test123
b. 進(jìn)入redis重定義參數(shù)
查看當(dāng)前的密碼:
[root@slaver251 redis-2.4.16]# ./src/redis-cli -p 6379
redis 127.0.0.1:6379> #p#分頁標(biāo)題#e#
redis 127.0.0.1:6379> config get requirepass 查看密碼
1) "requirepass"
2) (nil)
顯示密碼是空的,
然后設(shè)置密碼:
redis 127.0.0.1:6379> config set requirepass test123
OK
再次查詢密碼:
redis 127.0.0.1:6379> config get requirepass
(error) ERR operation not permitted
此時(shí)報(bào)錯(cuò)了!
現(xiàn)在只需要密碼認(rèn)證就可以了。
redis 127.0.0.1:6379> auth test123
OK
再次查詢密碼:
redis 127.0.0.1:6379> config get requirepass
1) "requirepass"
2) "test123"
密碼已經(jīng)得到修改。
當(dāng)?shù)搅丝梢灾貑edis的時(shí)候 由于配置參數(shù)已經(jīng)修改 所以密碼會(huì)自動(dòng)生效。
要是配置參數(shù)沒添加密碼 那么redis重啟 密碼將相當(dāng)于沒有設(shè)置。
三.如何登錄有密碼的redis?
a.在登錄的時(shí)候 密碼就輸入
[root@slaver251 redis-2.4.16]# ./src/redis-cli -p 6379 -a test123
redis 127.0.0.1:6379> #p#分頁標(biāo)題#e#
redis 127.0.0.1:6379> config get requirepass
1) "requirepass"
2) "test123"
b.先登錄再驗(yàn)證:
[root@slaver251 redis-2.4.16]# ./src/redis-cli -p 6379
redis 127.0.0.1:6379>
redis 127.0.0.1:6379> auth test123
OK
redis 127.0.0.1:6379> config get requirepass
1) "requirepass"
2) "test123"
redis 127.0.0.1:6379>
四. master 有密碼,slave 如何配置?
當(dāng)master 有密碼的時(shí)候 配置slave 的時(shí)候 相應(yīng)的密碼參數(shù)也得相應(yīng)的配置好。不然slave 是無法進(jìn)行正常復(fù)制的。
相應(yīng)的參數(shù)是:
#masterauth
比如:
masterauth mstpassword