• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Linux下Redis允许远程连接的实现方法

    Linux安装好Redis之后,使用Java进行连接,Java代码如下

    package com.wzj.demo.test;
     
    import redis.clients.jedis.Jedis;
     
    /**
     * Created by wzj on 2018/3/29.
     */
    public class RedisJava
    {
      public static void main(String[] args)
      {
        //连接本地的 Redis 服务
        Jedis jedis = new Jedis("192.168.3.45");
        System.out.println("连接成功");
     
        //设置 redis 字符串数据
        jedis.set("runoobkey", "www.runoob.com");
     
        // 获取存储的数据并输出
        System.out.println("redis 存储的字符串为: "+ jedis.get("runoobkey"));
      }
    }
    

    报如下错误:

    Exception in thread "main" redis.clients.jedis.exceptions.JedisConnectionException: java.net.SocketException: Connection reset
    	at redis.clients.util.RedisInputStream.ensureFill(RedisInputStream.java:202)
    	at redis.clients.util.RedisInputStream.readByte(RedisInputStream.java:40)
    	at redis.clients.jedis.Protocol.process(Protocol.java:151)
    	at redis.clients.jedis.Protocol.read(Protocol.java:215)
    	at redis.clients.jedis.Connection.readProtocolWithCheckingBroken(Connection.java:340)
    	at redis.clients.jedis.Connection.getStatusCodeReply(Connection.java:239)
    	at redis.clients.jedis.Jedis.set(Jedis.java:121)
    	at com.wzj.demo.test.RedisJava.main(RedisJava.java:17)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    	at java.lang.reflect.Method.invoke(Method.java:498)
    	at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)
    Caused by: java.net.SocketException: Connection reset
    	at java.net.SocketInputStream.read(SocketInputStream.java:209)
    	at java.net.SocketInputStream.read(SocketInputStream.java:141)
    	at java.net.SocketInputStream.read(SocketInputStream.java:127)
    	at redis.clients.util.RedisInputStream.ensureFill(RedisInputStream.java:196)
    	... 12 more
    

    使用Telnet 192.168.3.45 6379,发现端口是不通的。

    通过网上查找分析,原因是:Redis默认只允许本地连接,不允许其他机器连接,需要进行如下修改:

    (1)修改redis.conf 文件,把bind 127.0.0.1 ::1这一行注释掉。

    (2)修改redis.conf 文件,protected-mode 要设置成no

    (3)启动的时候,需要指定redis.conf 文件,执行./src/redis-server redis.conf命令

    设置之后,重启测试,发现Java代码可以正常连接了。

    以上这篇Linux下Redis允许远程连接的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

    上一篇:Linux服务器配置ip白名单防止远程登录以及端口暴露的问题
    下一篇:Tomcat整体结构简单介绍
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Linux下Redis允许远程连接的实现方法 Linux,下,Redis,允许,远程,