当前位置:Gxlcms > mysql > Linux下编译安装Redis以及主从复制配置

Linux下编译安装Redis以及主从复制配置

时间:2021-07-01 10:21:17 帮助过:48人阅读

Redis的安装配置很简单,而且很早之前就装过Redis,可这几天再次安装时居然又遗忘了一些细节,看来好记性不如烂笔头,还是在博客

Redis的安装配置很简单,而且很早之前就装过Redis,可这几天再次安装时居然又遗忘了一些细节,看来好记性不如烂笔头,还是在博客记录一下比较好,至少不用总是抱度娘大腿了。

今天编译安装了几次,发现居然没在prefix指定目录生成文件??看了半天结果发现PREFIX我用了小写字母。。。

看来还是得记录一次正确的操作步骤,免得再次出现这种窘迫。

一、选择版本

前往官方网站:

选择一个适合的稳定版本,比如最新的redis-3.0稳定版(stable),获得下载地址:

二、编译安装

cd /usr/local/src
wget
tar zxvf redis-3.0.0.tar.gz
cd redis-3.0.0
make
#可选执行命令:make test

#这里记得PREFIX是大写,小写不生效!
make PREFIX=/usr/local/redis-3.0.0 install

#建立软链接
ln -s /usr/local/redis-3.0.0 /usr/local/redis

#创建目录并拷贝默认配置文件过去
mkdir -p /usr/local/redis/{etc,var}
cp redis.conf /usr/local/etc/

#如果是对其他机器提供服务,推荐在redis.conf中设置监听IP为0.0.0.0,启动就可以开一个进程,,默认是2个,还有个127.0.0.1
bind 0.0.0.0

cd /usr/local/src

wget

tar zxvf redis-3.0.0.tar.gz

cd redis-3.0.0

make

#可选执行命令:make test

#这里记得PREFIX是大写,小写不生效!

make PREFIX=/usr/local/redis-3.0.0 install

#建立软链接

ln -s /usr/local/redis-3.0.0 /usr/local/redis

#创建目录并拷贝默认配置文件过去

mkdir -p /usr/local/redis/{etc,var}

cp redis.conf /usr/local/etc/

#如果是对其他机器提供服务,推荐在redis.conf中设置监听IP为0.0.0.0,启动就可以开一个进程,默认是2个,还有个127.0.0.1

bind 0.0.0.0


安装完成后,redis目录结构如下:

[root@cache-ns-4 ~]# tree /usr/local/redis
/usr/local/redis
├── bin #bin下面存放各种执行文件
│ ├── redis-benchmark
│ ├── redis-check-aof
│ ├── redis-check-dump
│ ├── redis-cli #redis客户端执行文件
│ ├── redis-sentinel -> /usr/local/redis-3.0.0/bin/redis-server
│ └── redis-server #redis服务端执行文件
├── dump.rdb #启动后默认生成的数据文件,可以在redis.conf中设置dir的路径参数指定到其他目录
├── etc
│ └── redis.conf
└── var

[root@cache-ns-4 ~]# tree /usr/local/redis

/usr/local/redis

├── bin #bin下面存放各种执行文件

│ ├── redis-benchmark

│ ├── redis-check-aof

│ ├── redis-check-dump

│ ├── redis-cli #redis客户端执行文件

│ ├── redis-sentinel -> /usr/local/redis-3.0.0/bin/redis-server

│ └── redis-server #redis服务端执行文件

├── dump.rdb #启动后默认生成的数据文件,可以在redis.conf中设置dir的路径参数指定到其他目录

├── etc

│ └── redis.conf

└── var

三、注册服务

①、编写服务控制脚本

vi /etc/init.d/redis

#!/bin/bash
#
# redis - this script starts and stops the redis-server daemon
#
# chkconfig: - 80 12
# description: Redis is a persistent key-value database
# processname: redis-server
# config: /usr/local/redis/etc/redis.conf
# pidfile: /usr/local/redis/var/redis.pid

source /etc/init.d/functions

BIN="/usr/local/redis/bin"
CONFIG="/usr/local/redis/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

#!/bin/bash

#

# redis - this script starts and stops the redis-server daemon

#

# chkconfig: - 80 12

# description: Redis is a persistent key-value database

# processname: redis-server

# config: /usr/local/redis/etc/redis.conf

# pidfile: /usr/local/redis/var/redis.pid

source /etc/init.d/functions

BIN="/usr/local/redis/bin"

CONFIG="/usr/local/redis/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


②、注册服务与启动

#给执行权限
chmod +x /etc/init.d/redis

#开机启动
chkconfig redis on

#启动服务
service redis start

人气教程排行