Linux CentOS7安装Redis &&指定redis.conf配置文件启动 &&配置Redis开机自启动&& 带日志输出
一、安装Redis1-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/
一、安装Redis
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】
二、指定redis.conf配置文件启动
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 属性,参考下图修改即可。
三、开机redis自启动
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机器就会重启。
更多推荐
所有评论(0)