博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
安装Redis完整过程
阅读量:6477 次
发布时间:2019-06-23

本文共 2804 字,大约阅读时间需要 9 分钟。

  hot3.png

概述 

   首先报告一下我系统的版本: 

Java代码  收藏代码

  1. [root  init.d]# cat /etc/issue  

   系统版本信息如下: 

引用

CentOS release 6.4 (Final) 
Kernel \r on an \m 

安装Redis 
   希望将Redis安装在此目录下: 

引用

/usr/local/redis

  参考的安装说明,做调整:  

引用

$ mkdir /usr/local/redis 
$ cd /usr/local/src 
$ wget http://redis.googlecode.com/files/redis-2.6.14.tar.gz 
$ tar xzf redis-2.6.14.tar.gz  
$ ln -s redis-2.6.14 redis #建立一个链接 
$ cd redis 
$ make PREFIX=/usr/local/redis install #安装到指定目录中 

   注意上面的最后一行,我们通过PREFIX指定了安装的目录。如果make失败,一般是你们系统中还未安装gcc,那么可以通过yum安装之: 

Java代码  收藏代码

  1. yum install gcc  

  安装完成后,则执行make. 
  
  在安装redis成功后,你将可以在/usr/local/redis看到一个bin的目录,里面包括了以下文件: 

Java代码  收藏代码

  1. redis-benchmark  redis-check-aof  redis-check-dump  redis-cli  redis-server  

将Redis做成一个服务 
1.复制脚本到/etc/rc.d/init.d目录 
   按以上步骤安装Redis时,其服务脚本位于: 

Java代码  收藏代码

  1. /usr/local/src/redis/utils/redis_init_script  

   必须将其复制到/etc/rc.d/init.d的目录下: 

Java代码  收藏代码

  1. cp /usr/local/src/redis/utils/redis_init_script /etc/rc.d/init.d/redis  

   以下将redis_init_script复制到/etc/rc.d/init.d/,同时易名为redis。 
   
   如果这时,我们直接注册服务: 

Java代码  收藏代码

  1. chkconfig --add redis  

   将报以下错误: 

引用

redis服务不支持chkconfig

   为些,我们需要更改redis的脚本,请看下节说明。 
2.更改redis的服务脚本 
  

Java代码  收藏代码

  1. vim /etc/rc.d/init.d/redis  

  
看到以下的文件内容: 

Java代码  收藏代码

  1. #!/bin/bash  

  2. #chkconfig: 2345 80 90  

  3. # Simple Redis init.d script conceived to work on Linux systems  

  4. # as it does use of the /proc filesystem.  

  5.   

  6. REDISPORT=6379  

  7. EXEC=/usr/local/redis/bin/redis-server  

  8. CLIEXEC=/usr/local/redis/bin/redis-cli  

  9.   

  10. PIDFILE=/var/run/redis_${REDISPORT}.pid  

  11. CONF="/etc/redis/${REDISPORT}.conf"  

  12.   

  13. case "$1" in  

  14.     start)  

  15.         if [ -f $PIDFILE ]  

  16.         then  

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

  18.         else  

  19.                 echo "Starting Redis server..."  

  20.                 $EXEC $CONF &  

  21.         fi  

  22.         ;;  

  23.     stop)  

  24.         if [ ! -f $PIDFILE ]  

  25.         then  

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

  27.         else  

  28.                 PID=$(cat $PIDFILE)  

  29.                 echo "Stopping ..."  

  30.                 $CLIEXEC -p $REDISPORT shutdown  

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

  32.                 do  

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

  34.                     sleep 1  

  35.                 done  

  36.                 echo "Redis stopped"  

  37.         fi  

  38.         ;;  

  39.     *)  

  40.         echo "Please use start or stop as first argument"  

  41.         ;;  

  42. esac  

   1)解决无法注册的问题: 
   原文件是没有以下第2行的内容的, 

引用

#chkconfig: 2345 80 90

    这时如果注册将报错,要添加再注册就OK了。 
  
   2)更改EXEC、CLIEXEC参数,设置对应的值,如上所示即和我们前面安装的一致。 
   3)更改redis开启的命令,以后台运行的方式执行: 
  

Java代码  收藏代码

  1. $EXEC $CONF &  

   注意后面的那个“&”,即是将服务转到后面运行的意思,否则启动服务时,Redis服务将 
占据在前台,占用了主用户界面,造成其它的命令执行不了。 
   4)将redis配置文件拷贝到/etc/redis/${REDISPORT}.conf 
  

Java代码  收藏代码

  1. mkdir /etc/redis   

  2. cp /usr/local/src/redis/redis.conf /etc/redis/6379.conf  

   这样redis服务脚本指定的CONF就存在了。默认情况下,Redis未启用认证,可以通过开启6379.conf的requirepass 指定一个验证密码。 
   以上操作完成后,即可注册服务: 

Java代码  收藏代码

  1. chkconfig --add redis   

3.启动Redis服务 
 

Java代码  收藏代码

  1. $ service redis start  

将Redis的命令所在目录添加到系统参数PATH中 
修改profile文件: 
#vi /etc/profile 
在最后行添加: 

Java代码  收藏代码

  1. export PATH="$PATH:/usr/local/redis/bin"  

然后马上应用这个文件: 

Java代码  收藏代码

  1. . /etc/profile  

  这样就可以直接调用redis-cli的命令了,如下所示: 

Java代码  收藏代码

  1. $ redis-cli  

  2. redis 127.0.0.1:6379> auth superman  

  3. OK  

  4. redis 127.0.0.1:6379> ping  

  5. PONG  

  6. redis 127.0.0.1:6379>   

  由于上面我开启了安全验证功能,密码为superman,因此需要auth后才能和服务器交互。 

转载于:https://my.oschina.net/stamen/blog/495504

你可能感兴趣的文章
css布局 - 九宫格布局的方法汇总(更新中...)
查看>>
画图函数——点,线,矩形等等
查看>>
ejabberd_local
查看>>
BZOJ5020 [THUWC 2017]在美妙的数学王国中畅游LCT
查看>>
hdu 6030 矩阵快速幂
查看>>
tomcat类加载机制
查看>>
ado.net2.0中的缓存使用SqlDependency类
查看>>
Java基础学习总结(94)——Java线程再学习
查看>>
iOS开发之调用系统设置
查看>>
利用 ACPI\\ACPI0003设备 判断笔记本还是台式机
查看>>
解决wampserver 服务无法启动
查看>>
ES6中Promise封装ajax的写法
查看>>
初次使用 VUX
查看>>
javascript 字符串转数字的简便写法
查看>>
html之div始终停留在屏幕中间部分
查看>>
Spring中jdbcTemplate的用户实例
查看>>
[模板] 快速傅里叶变换/FFT/NTT
查看>>
DecimalFormat 数据格式设置 SimpleDateFormat时间格式的用法介绍 --转载
查看>>
Android 的Margin和Padding属性以及支持的长度单位
查看>>
HDU ACM 1050 Moving Tables
查看>>