安装Redis
此处为redis-4.0.10的版本
[root@bogon app]# wget http://download.redis.io/releases/redis-4.0.10.tar.gz #从指定网站下载
[root@bogon app]# tar zxvf http://download.redis.io/releases/redis-4.0.10.tar.gz #解压
[root@bogon app]# cd redis-4.0.10 #进入目录下
[root@bogon redis-4.0.10]# make #执行编译
编译完成之后会生成一个src目录(进到src下),里面有启动脚本啊,什么测试工具啊,什么乱七八糟的
[root@bogon src]# ./redis-server #这就启动了,如下图;
[root@bogon src]# ctrl+c(这是键盘快捷键不是命令) #使用此快捷键可以直接停止,默认redis前台运行,我们后
面再改
配置Redis.conf
[root@bogon redis-4.0.10]# cp redis.conf redis.conf.bak #修改配置文件之前记得先备份,无论什么应用都如此
[root@bogon redis-4.0.10]# vim redis.conf #使用vim编辑器打开redis.conf
#redis监听默认是监听本地回环地址,所以只能本地才能访问redis,如果想让别的服务器远程也可以访问则需要修改监听地址
此处改为我虚拟机的地址(你以为我会把我们公司外网IP给你?真逗!)
bind 127.0.0.1 #找到这一行改为下面一行
bind 192.168.119.100 #后方跟的IP,记住是你要对外宣称的IP
#redis默认监听端口为6379,生产环境上,为了安全要修改一下
port 6379 #找到这一行修改为下一行
port 6390 #端口号自己定义
#redis默认是在前台运行的,我们要开启redis的守护进程
daemon no #默认守护进程为no,找到这一行
daemon yes #改为yes,以守护进程方式运行
#这个pid这个选项,为了后面的实现,所以此处做更改
pid file /var/run/redis_6379.pid #这是默认,改为下面一行
pid file/var/run/redis.pid #看到后面你就知道了
#建议指定一下日志的存放路径,不然到时候启不来你都不知道哪儿的问题,日志文件不用创建,会自动生成
logfile "" #默认为空
logfile "/var/log/redis.log" #后方跟日志的存放位置
#打开aof功能,redis默认关闭,并且默认是以rdb的方式运行的
appendonly no #默认为no
appendonly yes #开启此功能
#指定appendfilename文件
appendfilename "appendonly.aof" #默认名称是这个,这个就不用改了
#指定更新日志的条件,根据需求修改!
#always:同步持久化,每次发生数据变化都会立刻写入磁盘中,性能较差,但数据完整性比较好
everysync:默认设置,每秒异步记录一次(默认值)
#no:不同步
#appendsync always #默认没有开启
appendsync everysync #这个也保持默认就可以
#appendsync no #这个也默认
AOF概述:
它采用日志的形式来记录每个写操作,并追加到文件中,Redis重启时会根据日志文件的内容将指令从前到后执行一次以用来完成数据的恢复工作
#配置重写触发机制,下面两条语句的意思就是"当AOF文件大小是上次rewrite后大小的1倍且文件大于64M时触发,根据实际情
况修改,一般都3G,此处为了一会儿做测试,设置为64mb"
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
#给redis设置密码
#requirepass foobared #该选项默认是禁用的,取消注释开启
requirepass password #将redis密码设置为password
正式启动Redis
这样启动是不是很麻烦?确实很麻烦,我们想用service直接管理,就按如下操作
[root@bogon src]# cd /app/redis-4.0.10/utils #进入到启动脚本存放目录下
[root@bogon utils]# cp redis_init_script redis_init_script.bak #修改前先备份
[root@bogon utils]# vim redis_init_script #使用vim编辑器编辑,以下为脚本内容
#!/bin/sh
#
# Simple Redis init.d script conceived to work on Linux systems
# as it does use of the /proc filesystem.
### BEGIN INIT INFO
# Provides: redis_6390 #这个位置改一下redis的端口,其实就是注释,改不改都行
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Redis data structure server
# Description: Redis data structure server. See https://redis.io
### END INIT INFO
REDISPORT=6390 #redis的端口号,改成在配置文件里面的端口
EXEC=/app/redis-4.0.10/src/redis-server #redis启动文件的存放位置
CLIEXEC=/app/redis-4.0.10/src/redis-cli #redis客户端文件的存放位置
PIDFILE=/var/run/redis.pid #redis的pid存放路径,改成配置文件中修改的pid路径
CONF="/app/redis-4.0.10/redis.conf" #指定redis.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 -h 192.168.119.100 -a password shutdown #redis的停止比较麻烦,
如果你设置了密码和监听IP,此处就要添加-h与-a
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
:wq #保存并退出
[root@bogon utils]# cp redis_init_script /etc/init.d/redisd #添加到系统服务,并命名为redisd
[root@bogon utils]# service redisd stop|start #就可以通过service启动和停止啦
完成!