一、安装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】

>>>

 
  1. #!/bin/bash

  2. #chkconfig: 22345 10 90

  3. #description: Start and Stop redis

  4. REDISPORT=8530

  5. EXEC=/home/redis/redis-4.0.6/src/redis-server

  6. CLIEXEC=/home/redis/redis-4.0.6/src/redis-cli

  7. PIDFILE=/var/run/redis.pid

  8. CONF="/home/redis/redis-4.0.6/redis.conf"

  9. case "$1" in

  10. start)

  11. if [ -f $PIDFILE ];then

  12. echo "$PIDFILE exists,process is already running or crashed"

  13. else

  14. echo "Starting Redis server..."

  15. $EXEC $CONF

  16. fi

  17. ;;

  18. stop)

  19. if [ ! -f $PIDFILE ];then

  20. echo "$PIDFILE does not exist,process is not running"

  21. else

  22. PID=$(cat $PIDFILE)

  23. echo "Stopping..."

  24. $CLIEXEC -p $REDISPORT shutdown

  25. while [ -x /proc/${PID} ]

  26. do

  27. echo "Waiting for Redis to shutdown..."

  28. sleep 1

  29. done

  30. echo "Redis stopped"

  31. fi

  32. ;;

  33. restart)

  34. "$0" stop

  35. sleep 3

  36. "$0" start

  37. ;;

  38. *)

  39. echo "Please use start or stop or restart as first argument"

  40. ;;

  41. 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机器就会重启。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐