RedHat 7 安装redis3.2

  • 内容
  • 评论
  • 相关

配置Yum源

先查看下系统的版本

[root@rhel7 ~]# more /etc/redhat-release

Red Hat Enterprise Linux Server release 7.0 (Maipo)

然后我们下载个网易的yum源

[root@rhel7 ~]# cd /etc/yum.repos.d/

[root@rhel7 yum.repos.d]# wget http://mirrors.163.com/.help/CentOS6-Base-163.repo

修改成centos 7

[root@rhel7 yum.repos.d]# mv CentOS6-Base-163.repo CentOS7-Base-163.repo

[root@rhel7 yum.repos.d]# vi CentOS7-Base-163.repo.

把里面的所有baseurl属性值的$releasever为对应的OS主版本号(5,6,7)

如下图:

清理下yum

[root@rhel7 yum.repos.d]# yum clean all

[root@rhel7 yum.repos.d]# yum makecache

关闭SElinux

刚学水平不够把这东西先关了,防止到时候引起其他配置问题

[root@rhel7 yum.repos.d]# vim /etc/selinux/config

[root@rhel7 yum.repos.d]# setenforce 0

[root@rhel7 yum.repos.d]# getenforce

Permissive

安装编译环境

由于redis使用C开发的所以编译安装的时候需要安装gcc。

[root@rhel7 yum.repos.d]# yum -y install gcc gcc-c++ libstdc++-devel zlib-devel

安装redis

最新的版本是4.0.9,我们安装前一个稳定版3.2.11

[root@rhel7 ~]# cd /usr/local/

[root@rhel7 local]# wget http://download.redis.io/releases/redis-3.2.11.tar.gz

[root@rhel7 local]# tar zxvf redis-3.2.11.tar.gz

[root@rhel7 local]# ls

改名下文件夹

[root@rhel7 local]# mv redis-3.2.11 redis

[root@rhel7 local]# rm -rf redis-3.2.11.tar.gz

进入解压后的目录进行编译

[root@rhel7 local]# cd redis/

[root@rhel7 redis]# make

[root@rhel7 redis]# make install

进入/usr/local/bin可以看到下面几个东西。

[root@rhel7 src]# cd /usr/local/bin/

[root@rhel7 bin]# ls

下面是这几个工具的作用:

  • redis-server:Redis服务器端启动程序
  • redis-cli:Redis客户端操作工具。也可以用telnet根据其纯文本协议来操作
  • redis-benchmark:Redis性能测试工具
  • redis-check-aof:数据修复工具

开通防火墙

redis默认是用6379端口的所以我们开下这个端口

[root@rhel7 utils]# firewall-cmd –permanent –zone=public –add-port=6379/tcp

success

[root@rhel7 utils]# firewall-cmd –reload

启动redis

启动脚本启动redis

在生产环境中推荐用初始化脚本启动redis,使redis能随系统自动运行

脚本在redis的安装目录中的utils文件夹下的redis_init_script

[root@rhel7 ~]# cd /usr/local/redis/utils/

复制初始化脚本

我们需要配置Redis的运行方式和持久化文件,日志文件存储位置

配置初始化脚本,将脚本复制到/etc/init.d目录,文件名redis_端口号,然后修改文件中的REDISPORT为你需要设置的端口号

[root@rhel7 utils]# cp redis_init_script /etc/init.d

[root@rhel7 utils]# cd /etc/init.d/

[root@rhel7 init.d]# ls

[root@rhel7 init.d]# mv redis_init_script redis_6379

 

建立文件夹

/etc/redis    存放Redis的配置文件

/var/redis/端口号    存放Redis的持久化文件

[root@rhel7 etc]# cd /etc/

[root@rhel7 etc]# mkdir redis

[root@rhel7 etc]# mkdir /var/redis/6379

复制conf文件

将redis安装目录中的redis.conf复制到/etc/redis中,然后重命名成端口号.conf

[root@rhel7 redis]# cd /usr/local/redis/

[root@rhel7 redis]# cp redis.conf /etc/redis/

[root@rhel7 redis]# cd /etc/redis/

[root@rhel7 redis]# mv redis.conf 6379.conf

修改conf文件

我们修改下6379.conf

[root@rhel7 redis]# vim redis.conf

bind 0.0.0.0 代表所有ip来访问

protected-mode 默认是yes改成no,这是3.2版本后新的特性,链接redis时只能通过本地localhost来链接,不能通过网络ip192.168..来链接,所以要改成no

redis端口号

redis默认不在后台运行,我们修改成yes变成守护进程后台运行

设置Redis的PID文件位置

默认开16个库,可以修改,我们先不修改

设置持久化文件存放位置

启动redis

现在可以使用/etc/init.d/redis_端口号 start来启动redis了

[root@rhel7 redis]# /etc/init.d/redis_6379 start

设置开机启动redis

编辑/etc/init.d/redis_6379文件,在#!/bin/bash 之后添加如下两行。

# chkconfig: 2345 10 90

# description: redis_6379 service manage…

其中2345是默认启动级别,级别有0-6共7个级别。

等级0表示:表示关机   
  等级1表示:单用户模式   
  等级2表示:无网络连接的多用户命令行模式   
  等级3表示:有网络连接的多用户命令行模式   
  等级4表示:不可用   
  等级5表示:带图形界面的多用户模式   
  等级6表示:重新启动

10是启动优先级,90是停止优先级,优先级范围是0-100,数字越大,优先级越低

 

将redis_6379放入linux启动管理体系中

[root@rhel7 init.d]# chkconfig –add redis_6379

查看redis_6379服务在各运行级状态

[root@rhel7 init.d]# chkconfig –list redis_6379

重启后试试看,重启完成我们重新连接一下,发现能连接上ok

关闭redis

[root@rhel7 redis]# redis-cli SHUTDOWN