Centos7安装Redis4.0.8

时间:2022-10-16 16:16:11

今天安装了CentOS7 1708 在安装redis时报错  make[1]: *** [adlist.o] 错误 127

 

因为Redis是C实现的,需要gcc来进行编译,所以原因是系统未安装gcc,按顺序执行:
yum install cpp
yum install binutils
yum install glibc
yum install glibc-kernheaders
yum install glibc-common
yum install glibc-devel
yum install gcc
yum install make
因为gcc依赖很多,都执行一下,以防万一
然后执行安装redis OK:

一、软件安装

1、进入官网下载Redis4.0.8

https://redis.io/download

官网也附有安装教程。

 

shell>wget http://download.redis.io/releases/redis-4.0.2.tar.gz

 

1.1 方式一

去 Redis 官网下载最新稳定版,上传到 Linux:https://redis.io/download

1.2 方式二

使用 wget 命令获取

wget http://download.redis.io/releases/redis-4.0.8.tar.gz

Centos7安装Redis4.0.8

2、解压压缩文件

shell>tar -zxvf redis-4.0.8.tar.gz

Centos7安装Redis4.0.8

 

3、进入redis-4.0.8目录 使用make命令编译redis

shell>cd   /edis-4.0.8

shell>make

等几分钟,过程可能比较慢,正常情况下是不会报错的,如下图:

Centos7安装Redis4.0.8

4、在redis-4.0.8目录中 使用makePREFIX=/usr/local/redis/redis-4.0.8 install命令安装redis到/usr/local/redis/redis-4.0.8中

shell>make PREFIX=/usr/local/redis/redis-4.0.8 install

Centos7安装Redis4.0.8

 

二、修改配置

前台启动:./redis-server 

后台启动:复制redis.conf (在/redis-4.0.8源码下,就是解压的那个文件夹)到redis的安装目录(就是你那个bin里),修改redis.conf中的 daemonize yes ,执行下边的命令就启动了,下一条是关闭命令

shell>cd /usr/local/webtools/redis-4.0.8

shell>cp redis.conf /usr/local/redis/redis-4.0.8/bin/

shell>cd /usr/local/redis/redis-4.0.8/bin/

Centos7安装Redis4.0.8 

shell>用vi工具打开redis-4.0.8目录下的redis.conf配置文件:

vi redis.config

1、.设置redis可以一直在后台运行,以守护进程方式运行,即关闭SSH工具程序也在运行。 
daemonize no 改成 daemonize yes

2、默认的话redis-server启动时会在当前目录生成或读取dump.rdb,可以指定生成的路径 
dir ./ 改成 dir /usr/local/redis/

3、指定是否在每次更新操作后进行日志记录,Redis在默认情况下是异步的把数据写入磁盘,如果不开启,可能会在断电时导致一段时间内的数据丢失。 因为 redis本身同步数据文件是按上面save条件来同步的,所以有的数据会在一段时间内只存在于内存中。默认为no 
appendonly no 改成 appendonly yes

4、.默认redis是只能内网127.0.0.0访问,如果想外网访问需要修改绑定的地址 
bind 127.0.0.1 改成 bind 0.0.0.0 (别忘了在阿里云后台给6379增加安全组配置)
改成任何IP都能访问的,当然这里也可以绑定单独的IP

5、修改保护模式,不修改保护模式也是只能内网访问的 
protected-mode yes 改成 protected-mode no

6.设置密码 
将”#requirepass foobared“ 取掉注释改成 requirepass 123

保存文件

第四、启动测试

启动redis服务

shell>./redis-server  ./redis.conf

验证服务是否启动:

shell>ps aux|grep redis

结果如下: 
Centos7安装Redis4.0.8
说明启动成功了。 
关闭启动的窗口,重新打开个命令终端,然后测试是否在后台运行,结果和上面一样,说明不论SSH是否关闭,redis服务都会在后台以守护进程方式运行。

用redis-cli测试内网

运行命令,连接客户端:

shell>./redis-cli -a xxx

备注:redis-cli -h 实例连接地址 -a 密码

Centos7安装Redis4.0.8

用java测试外网(阿里云防火墙规则添加端口6379)

创建一个java项目,导入jedis包,新new一个RedisConnectTest.java类,代码如下:

package test.service;

import redis.clients.jedis.Jedis; 

public class RedisConnectTest { 

             /**

              * @author liu

              * @version 创建时间:2018年3月17日22:13:50

              * @ClassName 类名称

              * @Description 类描述

              */

             public static void main(String[]args) {

        try {

            String host = "www.iotworld.vip";//控制台显示访问IP地址

            int port = xxx;

            Jedis jedis = new Jedis(host,port);

            // 鉴权信息

            jedis.auth("xxxxx.");//password

            String key = "redis_test";

            String value = "Hello-aliyun-redis";

            // select db 默认为0,共有16个

            jedis.select(1);

            // set一个key

            jedis.set(key, value);

            System.out.println("SetKey " + key + " Value: " + value);

            // get 设置进去的key

            String getvalue = jedis.get(key);

            System.out.println("GetKey " + key + " ReturnValue: " + getvalue);

            jedis.quit();

            jedis.close();

        } catch (Exception e) {

            e.printStackTrace();

       }

 

 

    }
}

运行结果如下:

Set Key redis_test Value: Hello-aliyun-redis

Get Key redis_test ReturnValue: Hello-aliyun-redis

说明连接并存储成功了,并且取数据也成功了。 
Centos7安装Redis4.0.8