一、環(huán)境
centos6.9
redis-3.2.12
二、安裝
1.解壓
tar -zxvf redis-3.2.12.tar.gz -C /opt/
2.編譯

遇到錯(cuò)誤

解決方法:安裝gcc
yum install gcc
再次make遇到錯(cuò)誤

解決方法:使用
make MALLOC=libc編譯
3.src下編譯
make install

安裝完成!
三、部署
1.創(chuàng)建文件夾
mkdir -p /usr/local/redis/bin
mkdir -p /usr/local/redis/ect

2.拷貝文件
cp -r /opt/redis-3.2.12/redis.conf /usr/local/redis/ect/
cd /opt/redis-3.2.12/src/
cp -r mkreleasehdr.sh redis-benchmark redis-check-aof redis-cli redis-server /usr/local/redis/bin/
3.啟動(dòng)redis服務(wù)
/usr/local/redis/bin/redis-server
該種方法是在前臺(tái)啟動(dòng)redis,窗口關(guān)閉,redis也停止
4.修改配置文件
vi /usr/local/redis/ect/redis.conf
主要修改內(nèi)容為:
#配置守護(hù)進(jìn)程模式
daemonize yes
#修改redis密碼(默認(rèn)無(wú)密碼)
requirepass redis123
#綁定內(nèi)網(wǎng)ip
bind 10.0.0.22 127.0.0.1
#指定redis進(jìn)程的pid文件存放位置
pidfile /var/run/redis.pid
5.配置redis開(kāi)機(jī)啟動(dòng)文件
配置腳本文件vi /etc/init.d/redis 如下:
#
# redis Startup script for Redis Server
#!/bin/sh
#
# redis Startup script for Redis Server
#
# chkconfig: - 80 12
# description: Redis is an open source, advanced key-value store.
#
# processname: redis-server
# config: /etc/redis.conf
# pidfile: /var/run/redis.pid
source /etc/init.d/functions
BIN="/usr/local/redis/bin"
CONFIG="/usr/local/redis/ect/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=$?
"/etc/rc.d/init.d/redis" 67L, 1384C written
[root@data-persistence ~]# cat /etc/init.d/redis
#!/bin/sh
#
# redis Startup script for Redis Server
#
# chkconfig: - 80 12
# description: Redis is an open source, advanced key-value store.
#
# processname: redis-server
# config: /etc/redis.conf
# pidfile: /var/run/redis.pid
source /etc/init.d/functions
BIN="/usr/local/redis/bin"
CONFIG="/usr/local/redis/ect/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
6.設(shè)置權(quán)限、啟動(dòng)/關(guān)閉測(cè)試、開(kāi)機(jī)啟動(dòng)
chmod +x /etc/init.d/redis
service redis start
service redis stop
chkconfig --add redis
7.修改profile文件
vi /etc/profile
#在最后行添加:
export PATH="$PATH:/usr/local/redis/bin"
#使文件生效
source /etc/profile
8.配置內(nèi)核參數(shù)
否則Redis腳本在重啟或停止redis時(shí),將會(huì)報(bào)錯(cuò),并且不能自動(dòng)在停止服務(wù)前同步數(shù)據(jù)到磁盤(pán)上
vi /etc/sysctl.conf
#添加參數(shù)
vm.overcommit_memory = 1
#使配置生效
sysctl -p
到此部署完畢!
以上大部分內(nèi)容均摘抄于網(wǎng)絡(luò),經(jīng)個(gè)人實(shí)踐無(wú)誤后發(fā)布。