进入下载目录
cd /usr/local
wget http://download.redis.io/releases/redis-3.0.5.tar.gz
tar -zxvf redis-3.0.5.tar.gz
cd redis-3.0.5/src
make install
redis-server &
检测客户端检测连接是否正常
redis-cli
ctrl+C 跳出
启动脚本 redis_init_script 位于位于redis的 /utils/目录下
复制此脚本文件至/etc/init.d目录下
cp /usr/local/redis-3.0.5/utils/redis_init_script /etc/init.d/redis
vi /etc/init.d/redis
#!/bin/sh # chkconfig: 2345 80 90 # Simple Redis init.d script conceived to work on Linux systems # as it does use of the /proc filesystem. REDISPORT=6379 EXEC=/usr/local/redis-3.0.5/src/redis-server CLIEXEC=/usr/local/redis-3.0.5/src/redis-cli PIDFILE=/var/run/redis_${REDISPORT}.pid CONF="/etc/redis/${REDISPORT}.conf" case "$1" in start) if [ -f $PIDFILE ] then echo "$PIDFILE exists, process is already running or crashed" else echo "Starting Redis server..." $EXEC $CONF & fi ;; stop) if [ ! -f $PIDFILE ] then echo "$PIDFILE does not exist, process is not running" else PID=$(cat $PIDFILE) echo "Stopping ..." $CLIEXEC -p $REDISPORT shutdown while [ -x /proc/${PID} ] do echo "Waiting for Redis to shutdown ..." sleep 1 done echo "Redis stopped" fi ;; *) echo "Please use start or stop as first argument" ;; esac和原配置文件相比:
1.原文件是没有以下第2行的内容的,
#chkconfig: 2345 80 90
我自己改写的文件
#!/bin/bash # Startup script for the redis # chkconfig: 2345 80 90 # description: The redis daemon is a network memory cache service. # processname: redis # pidfile: /var/run/redis.pid REDISPORT=6379 EXEC=/usr/local/redis-3.0.5/src/redis-server CLIEXEC=/usr/local/redis-3.0.5/src/redis-cli PIDFILE=/var/run/redis_${REDISPORT}.pid CONF="/etc/redis/${REDISPORT}.conf" RETVAL=0 prog="redis" # Source function library. . /etc/init.d/functions # Source networking configuration. . /etc/sysconfig/network # Check that networking is up. [ ${NETWORKING} = "no" ] && exit 0 [ -x $EXEC ] || exit 0 # Start redis daemons functions. start() { if [ -f $PIDFILE ];then echo "$PIDFILE exists, process is already running or crashed" exit 1 fi echo $"Starting $prog: " $EXEC $CONF & RETVAL=$? return $RETVAL } # Stop redis daemons functions. stop() { if [ ! -f $PIDFILE ];then echo "$PIDFILE exists, process is already running or crashed" exit 1 fi echo -n $"Stopping $prog: " PID=$(cat $PIDFILE) $CLIEXEC -p $REDISPORT shutdown while [ -x /proc/${PID} ] do echo "Waiting for Redis to shutdown ..." sleep 1 done echo "redis stopped" RETVAL=$? } # See how we were called. case "$1" in start) start ;; stop) stop ;; restart|reload) stop start ;; *) echo $"Usage: $prog {start|stop|restart|reload}" exit 1 esac exit $RETVAL你喜欢的话,也可以用我改写的噢
2.原文件EXEC、CLIEXEC参数,也是有所更改。
1
2
|
EXEC=/usr/local/redis/bin/redis-server
CLIEXEC=/usr/local/redis/bin/redis-cli
|
3.redis开启的命令,以后台运行的方式执行,加上 &
$EXEC $CONF &
ps:注意后面的那个“&”,即是将服务转到后面运行的意思,否则启动服务时,redis服务将 占据在前台,占用了主用户界面,造成其它的命令执行不了。
将redis配置文件拷贝到/etc/redis/${REDISPORT}.conf
mkdir /etc/redis
cp /usr/local/redis-3.0.5/redis.conf /etc/redis/6379.conf
修改此配置文件
daemonize no //修改为yes 使redis以守护进程模式启动 pidfile /var/run/redis.pid //修改为/var/run/redis_6379.pid 设置redis的PID文件的路径
chmod +x /etc/init.d/redis
chkconfig --add redis
chkconfig --level 35 redis on
chkconfig --list | grep redis
service方式启动redis服务
service redis start
service redis stop
将redis的命令所在目录添加到系统参数PATH中
修改profile文件:
vi /etc/profile追加
export PATH=$PATH:$JAVA_HOME/bin:/usr/local/redis-3.0.5/src
source /etc/profile
这样就可以直接调用redis-cli的命令了,如下所示:
退出客户端输入quit即可
检测后台进程是否存在
ps -ef|grep redis
netstat -tunpl | grep 6379
密码认证
打开 /etc/redis.conf 修改 requirepass 配置项
# vim /etc/redis.conf requirepass test123
# service redis restart Stopping redis-server: [ OK ] Starting redis-server: [ OK ] # redis-cli redis 127.0.0.1:6379> set h helloworld (error) ERR operation not permitted
redis 127.0.0.1:6379> auth test123 OK redis 127.0.0.1:6379> set h helloworld OK redis 127.0.0.1:6379> get h "helloworld" redis 127.0.0.1:6379> exit
# redis-cli -a test123 redis 127.0.0.1:6379> set h helloworld OK redis 127.0.0.1:6379> get h "helloworld" redis 127.0.0.1:6379> exit
# redis-cli -a test123 redis 127.0.0.1:6379> config get requirepass 1) "requirepass" 2) "test123" redis 127.0.0.1:6379> config set requirepass passabc OK redis 127.0.0.1:6379> auth passabc OK redis 127.0.0.1:6379> set h helloworld OK redis 127.0.0.1:6379> get h "helloworld" redis 127.0.0.1:6379> exit
masterauth password
redis的主从配置
1、选中一台服务器作为master
2、其它服务器作为slave
修改/etc/redis/6379.conf配置文件
找到# slaveof <masterip> <masterport>
把此配置注释放开,写上master的ip 端口号即可
如
slaveof 192.168.1.101 6379
重启服务,即可发现master机子中的相关数据已经同步到所有的slave从机中