您好!欢迎访问95网站大全,本站是一个快速收录网站的网址导航/网站大全/网站导航网!
当前位置:95网站大全 » 投稿专栏 » 网络资讯 » 文章详细 订阅RssFeed

浅谈配置redis外网可访问方法

发布时间:2018-12-04 来源:网络转载 浏览:912次
浅谈配置redis外网可访问方法图片

  【浅谈配置redis外网可访问方法】最近一直好奇关于通过java的redis整合包jar访问外网服务器上面的redis缓存,于是就尝试在外网的linux进行安装,鼓捣了有一天时间,大概终于弄好了。

  在 Linux 中安装了redis 服务,当在客户端通过远程连接的方式连接时,报could not connect错误。

  错误的原因很简单,就是没有连接上redis服务,由于redis采用的安全策略,默认会只准许本地访问。

  需要通过简单配置,完成允许外网访问。

  在 Linux 中安装了redis 服务。

  在 Windows 中安装了 xampp 环境,以供 PHP 运行。

  PHP 代码如下:

  $redis = new Redis();

  $redis->connect('192.168.1.4', 6379);

  $redis->set('tag', 'hello');

  echo 'name:', $redis->get('tag');

  ?>

  执行以上代码时,报错如下:

  Fatal error: Uncaught exception ‘RedisException’ with message ‘Redis server went away’ in xxxx

  RedisException: Redis server went away in xxxxxx

  解错误分析及解决办法

  错误的原因很简单,就是没有连接上 redis 服务,由于 redis 采用的安全策略,默认会只准许本地访问。需要通过简单配置,完成允许外网访问。

  修改 redis 的配置文件,将所有 bind 信息全部屏蔽。

  # bind 192.168.1.100 10.0.0.1

  # bind 192.168.1.8

  # bind 127.0.0.1

  修改完成后,需要重新启动 redis 服务。

  修改 Linux 的防火墙(iptables),开启你的 redis 服务端口,默认是 6379。

  -A INPUT -m state –state NEW -m tcp -p tcp –dport 6379 -j ACCEPT

  ……

  -A INPUT -j REJECT –reject-with icmp-host-prohibited

  请注意,一定要将 redis 的防火墙配置放在 REJECT 的前面。然后执行 service iptables restart。

  至此,访问刚刚上面的代码,就能够链接到 redis 服务,并且能够正确显示了。

  关于bind

  翻看网上的文章,此处多翻译为"指定 redis 只接收来自于该 IP 地址的请求,如果不进行设置,那么将处理所有请求,在生产环境中最好设置该项"。这种解释会 totally 搞糊涂初学者,甚至是错误的。该处的英文原文为:

  # If you want you can bind a single interface, if the bind option is not

  # specified all the interfaces will listen for incoming connections.

  # bind 127.0.0.1

  该处说明 bind 的是interface,也就是说是网络接口。服务器可以有一个网络接口(通俗的说网卡),或者多个。打个比方说机器上有两个网卡,分别为 192.168.205.5 和 192.168.205.6,如果 bind 192.168.205.5,那么只有该网卡地址接受外部请求,如果不绑定,则两个网卡口都接受请求。

  OK,不知道讲清楚没有,在举一个例子。在我上面的实验过程中,我是将bind项注释掉了,实际上我还有一种解决方案。由于我redis服务器的地址是 192.168.1.4 。如果我不注释bind项,还有什么办法呢?我可以做如下配置:

  # bind 192.168.1.4

  这里很多人会误以为绑定的ip应该是请求来源的ip。其实不然,这里应该绑定的是你redis服务器本身接受请求的ip。

  redis的其他命令。

  如果需要关闭redis:

  [root@iZ94jzcra1hZ bin]# pkill redis

  如果需要开启redis:

  [root@iZ94jzcra1hZ bin]# redis-server &

  加&符号的作用是为了让此进程转换为后台进程,不占用shell的服务。

┃ 推荐站点

  • 95网站大全95网站大全

    95网站大全/网站导航网汇聚国内外优秀的网站网址,并免费提供网站收录/网址导航/网站大全/网站导航/网站推广服务,快速帮助中小企业提升网站排名及知名度.

    2018-08-30
  • 网络新词网网络新词网

    疾风流行语网(www.jifengweb.com)实时更新网络热词与网络流行语,为您一站式解读最新最热门的网络新名词,网络新词,网络热词,引领热词榜单!包含最新网络流行语、网络流行语言、网络用语、网络流行用语、网络语言。

    2018-07-03
  • 网站提交入口网站提交入口

    最新搜索引擎提交入口,让网站一键提交搜索引擎.各大搜索引擎提交网站入口包含百度搜索/搜狗搜索(sogou搜索)/神马搜索/360搜索/谷歌搜索(google搜索)/搜搜(soso搜索),有道搜索/雅虎(yahoo搜索)/必应(bing搜索)等搜索引擎提交入口,欢迎提交.

    2018-07-03