1-1:下载redis源码 1.7MB
【wget http://download.redis.io/releases/redis-4.0.6.tar.gz】
注意:若报错提示wget命令找不到,需要 yum install wget -y
移动压缩包到/home/redis/ 目录下(若没有redis目录,需要新建)
【mv redis-4.0.6.tar.gz /home/redis/】
1-2:解压压缩包
【cd /home/redis/ 】
【tar -zxf redis-4.0.6.tar.gz】
1-3:yum安装gcc依赖
yum install gcc -y
1-4:编译安装
先跳转到redis解压目录下
【cd /home/redis/redis-4.0.6/】
编译安装
【make MALLOC=libc】
将/home/redis/redis-4.0.6/src目录下的文件加到/usr/local/bin/目录
【cd /home/redis/redis-4.0.6/src】
【cp ./* /usr/local/bin/】
【make install】
2-1:直接启动Redis
先切换到redis src目录下
【cd /home/redis/redis-4.0.6/src】
直接启动Redis
【./redis-server】
如上图:redis启动成功,但是这种启动方式需要一直打开窗口,不能进行其他操作,不太方便。
按 ctrl + c可以关闭窗口。
2-2:以后台方式启动和关闭
修改redis.conf文件,该文件路径 /home/redis/redis-4.0.6/redis.conf
搜索daemonize关键字,
将 daemonize no 修改为 daemonize yes 然后 wq 保存
关闭redis进程
首先使用ps -aux | grep redis查看redis进程
【ps -aux | grep redis】
注意,查进程的命令有ps -aux 和ps -ef,建议使用-aux,-aux格式输出,标准格式,更直观。
相关区别及示范输出如上图所示。
使用kill命令杀死进程
【kill -9 141820】
注意,图中的112728进程是 grep的进程。不要kill错了。
2-3:指定配置文件启动
【cd /home/redis/redis-4.0.6/src】
【./redis-server ../redis.conf】
注意:若启动Redis时不指定配置文件,默认会选用内部的conf文件,而不是安装目录下的,最好启动时指定配置文件。
2-4:指定日志输出启动
Redis与Mysql一样,出于性能的考虑,默认配置,日志记录功能未开启。若需要开启日志记录功能,将redis.conf 文件中的 loglevel 和 logfile 属性,参考下图修改即可。
3-1:自启动原理
系统开机启动时会去加载/etc/init.d/下面的脚本,通常而言每个脚本文件会自定义实现程序的启动;若想将新的程序开机自启动,只需在该目录下添加一个自定义启动程序的脚本,然后设置相应规则即可。
如在这里我们在/etc/init.d/下新建一个 redis 的脚本,开机启动时会去加载执行该脚本。
3-2:编辑脚本
在系统init.d 目录下新建文件redis,授权运行,因为我们稍后把要执行的脚本写入进去。
【cd /etc/init.d】
【touch redis】
【chmod 777 redis】
编辑redis文件
【vim redis】
>>>
#!/bin/bash
#chkconfig: 22345 10 90
#description: Start and Stop redis
REDISPORT=8530
EXEC=/home/redis/redis-4.0.6/src/redis-server
CLIEXEC=/home/redis/redis-4.0.6/src/redis-cli
PIDFILE=/var/run/redis.pid
CONF="/home/redis/redis-4.0.6/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 shutdown
while [ -x /proc/${PID} ]
do
echo "Waiting for Redis to shutdown..."
sleep 1
done
echo "Redis stopped"
fi
;;
restart)
"$0" stop
sleep 3
"$0" start
;;
*)
echo "Please use start or stop or restart as first argument"
;;
esac
<<<
Redis脚本文件的第一行含义是:
redis服务必须在运行级2,3,4,5下被启动或关闭,启动的优先级是90,关闭的优先级是10。
3-3:执行配套命令以让脚本每次开机都执行
【chkconfig --add redis】 //服务的形式启动和关闭redis
【chkconfig redis on】 //加入开机自启服务
例如:【service redisd start】 启动redis
【chkconfig --list】 //查看所有注册的脚本文件
3-4:重启,验证是否开机自启和日志文件是否正常
上一次异常关机导致redis无法启动:
强制关掉电源或断电造成的,也是没等linux正常关机。这些会照成redis启动失败。启动失败时往往会提示 :
/var/run/redis_6379.pid exists, process is already running or crashed
解决方法:
1:可用安装文件启动 redis-server /etc/redis/6379.conf
2:shutdown -r now 软重启让系统自动恢复下就行了。
linux 运行级别含义:
运行级别就是操作系统当前正在运行的功能级别。这个级别从0到6 ,具有不同的功能。这些级别在/etc/inittab文件里指定。这个文件是init程序寻找的主要文件,最先运行的服务是那些放在/etc/rc.d 目录下的文件。
不同的运行级定义如下:(可以参考Linux里面的/etc/inittab)
# 缺省的运行级,RHS用到的级别如下:
0:关机
1:单用户模式
2:无网络支持的多用户模式
3:有网络支持的多用户模式
4:保留,未使用
5:有网络支持有X-Window支持的多用户模式
6:重新引导系统,即重启
通俗的解释:
0 为停机,机器关闭。
1 为单用户模式,就像Win9x下的安全模式类似。
2 为多用户模式,但是没有NFS支持。
3 为完整的多用户模式,是标准的运行级。
4 一般不用,在一些特殊情况下可以用它来做一些事情。
例如在笔记本 电脑的电池用尽时,可以切换到这个模式来做一些设置。
5 就是X11,进到X Window系统了。
6 为重启,运行init 6机器就会重启。