当我在两个不同的服务器上部署redis服务器和spring服务器,并试图通过我的应用程序连接到spring服务器时,我遇到了这个问题。
应用程序详细信息:
我们有移动应用程序,发布gps坐标到spring服务器使用stomp。在spring服务器中,我们创建jedis pubsub连接,并将这些gps数据发布到我们的web应用程序,web用户订阅这些jedis pubsub连接。
库版本:
stomp:1.7.1
绝地武士: 2.8.1
spring: 4.3.0
工作场景:
*在本地部署spring服务器,在远程生产服务器部署redis服务器。
*在远程服务器上部署spring服务器,在部署spring服务器的同一台远程服务器上部署redis服务器。
部分工作场景:
*在远程服务器上部署spring服务器,在部署spring服务器的不同远程服务器上部署redis服务器。在这个场景中,我使用redis cli监控redis服务器,我可以看到"HGETALL“、"PUBLISH”关键字及其数据。但同时我在spring服务器中得到了以下错误:
由以下原因引起:
java.net.ConnectException: Connection refused (Connection refused)
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:589)
at redis.clients.jedis.Connection.connect(Connection.java:158)
... 4 more
redis.clients.jedis.exceptions.JedisConnectionException: java.net.ConnectException: Connection refused (Connection refused)
at redis.clients.jedis.Connection.connect(Connection.java:164)
at redis.clients.jedis.BinaryClient.connect(BinaryClient.java:80)
at redis.clients.jedis.Connection.setTimeoutInfinite(Connection.java:68)
at redis.clients.jedis.Jedis.subscribe(Jedis.java:2626)
at shipxpress.pubsubservice.controllers.SubscriberThread.run(MainController.java:227)spring服务器可以成功地部署到服务器,当jedis尝试发布或订阅连接时会发生异常。我可以从我们通过redis-cli部署spring服务器的服务器上成功ping到redis服务器,redis服务器的prtected mode为no,bind ip设置为0.0.0.0
链接:我浏览了下面的链接,但没有成功
Redis bind to more than one IP
发布于 2017-05-18 18:19:13
这个问题意味着Spring远程服务器不能在默认的Redis端口上与另一个远程服务器(Redis服务器)通信。也许您可以通过从控制台使用netstat从另一个远程服务器访问远程Redis服务器来确认这一点。
发布于 2017-11-20 17:21:09
我也有同样的问题,最简单的解决方案是
在redis.conf文件中找到以下行并将其注释掉:
bind 127.0.0.1通过在其前面添加#:
# bind 127.0.0.1并将行protected-mode yes更改为protected-mode no
保存redis.conf并使用config文件重新启动redis
redis-server /configFileLocationhttps://stackoverflow.com/questions/44043358
复制相似问题