linux操作系统安装redis以及常见安装编译问题解决

目录

1 安装

1.1 下载安装包

1.2 解压

1.3 编译

2 启动

2.1 服务端启动

2.1.1 后端启动的两种方式

2.2 客户端启动

2.3 redis服务停止

3 安装常见问题解析

3.1 make编译时候报错

3.2 使用jedis链接报错


1 安装

1.1 下载安装包

如果机器是连网的可以用如下命令:

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

也可以到官网下载,官网下载地址:https://redis.io/download

下载之后将压缩包移到安装目录:/usr/local/下,执行命令:

$ mv redis-5.0.4.tar.gz /usr/local/

1.2 解压

执行命令:

$ tar xzf redis-5.0.4.tar.gz

在目录/usr/local/下得到文件夹:redis-5.0.4

1.3 编译

解压之后进入解压后的文件夹:

$ cd redis-5.0.4

执行编译命令:

$ make

编译成功之后就可以启动redis了。

如果编译不成功参见:3.1 make编译时候报错

2 启动

2.1 服务端启动

进入目录 /usr/local/redis-5.0.4/src/ 执行启动命令:

$ ./redis-server

2.1.1 后端启动的两种方式

方式1:

在/usr/local/redis-5.0.4/src下使用命令:

$ nohup ./redis-server &

可以查看端口来验证是否启动了,命令如下:

$ netstat -tunlp|grep 6379

执行结果如下所示:

端口已被监听,证明已经启动,如果设置了redis的端口,需要查看设置的端口是否被监听了。

方式2:

修改配置文件redis.conf,使用redis.conf启动

编辑redis.conf,将参数daemonize的值改为yes

进入目录 /usr/local/redis-5.0.4/ 使用命令:

$ vi redis.conf

打开文件redis.conf,搜索关键字daemonize,原值如下:

把no修改为yes,改后如下:

然后使用redis.conf文件启动,进入目录 /usr/local/redis-5.0.4/src/,执行命令:

$ ./redis-server ../redis.conf

执行结果:

2.2 客户端启动

客户端启动命令:

$ ./redis-cli

2.3 redis服务停止

服务停止命令:

$ ./redis-cli shutdown

3 安装常见问题解析

3.1 make编译时候报错

查看并安装C++编译器:

$ yum -y install gcc-c++

如果还是报错,把解压的文件夹redis-5.0.4删除,重新解压,再执行编译命令即可。

3.2 使用jedis链接报错

Exception in thread "main" redis.clients.jedis.exceptions.JedisDataException: DENIED Redis is running in protected mode because protected mode is enabled, no bind address was specified, no authentication password is requested to clients. In this mode connections are only accepted from the loopback interface. If you want to connect from external computers to Redis you may adopt one of the following solutions: 1) Just disable protected mode sending the command 'CONFIG SET protected-mode no' from the loopback interface by connecting to Redis from the same host the server is running, however MAKE SURE Redis is not publicly accessible from internet if you do so. Use CONFIG REWRITE to make this change permanent. 2) Alternatively you can just disable the protected mode by editing the Redis configuration file, and setting the protected mode option to 'no', and then restarting the server. 3) If you started the server manually just for testing, restart it with the '--protected-mode no' option. 4) Setup a bind address or an authentication password. NOTE: You only need to do one of the above things in order for the server to start accepting connections from the outside.
    at redis.clients.jedis.Protocol.processError(Protocol.java:132)
    at redis.clients.jedis.Protocol.process(Protocol.java:166)
    at redis.clients.jedis.Protocol.read(Protocol.java:220)
    at redis.clients.jedis.Connection.readProtocolWithCheckingBroken(Connection.java:309)
    at redis.clients.jedis.Connection.getStatusCodeReply(Connection.java:236)
    at redis.clients.jedis.Jedis.set(Jedis.java:149)
    at RedisBase.getString(RedisBase.java:16)
    at RedisBase.main(RedisBase.java:13)

处理办法:

1)登录客户端输入:

config set protected-mode "no"

2)修改redis.conf中的配置参数,分一下三步:

1)将 bind 127.0.0.1 注释掉,注释后如下:

2)将参数 protected-mode 的值设置为 no,设置之后的值如下:

3)使用redis.conf配置文件启动:

$ ./redis-server ../redis.conf

注:bind 127.0.0.1  的意思是只能通过本地localhost (127.0.0.1)来链接,不能通过网络ip来链接。

      protected-mode 参数的意思是是否使用保护模式。

发布了32 篇原创文章 · 获赞 38 · 访问量 5493

猜你喜欢

转载自blog.csdn.net/u010482601/article/details/89736974