【问题标题】:Connection refused: AMQP server with nameko连接被拒绝:nameko 的 AMQP 服务器
【发布时间】:2017-10-27 12:16:44
【问题描述】:

场景: 我们正在尝试通过 AMQP 服务器使用 nameko 连接到 RabbitMQ。 下面是回溯,

Traceback (most recent call last):
  File "d:\programfiles\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "d:\programfiles\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "D:\ProgramFiles\Scripts\nameko.exe\__main__.py", line 9, in <module>
  File "d:\programfiles\lib\site-packages\nameko\cli\main.py", line 72, in main
    args.main(args)
  File "d:\programfiles\lib\site-packages\nameko\cli\commands.py", line 85, in main
    main(args)
  File "d:\programfiles\lib\site-packages\nameko\cli\run.py", line 182, in main
    run(services, config, backdoor_port=args.backdoor_port)
  File "d:\programfiles\lib\site-packages\nameko\cli\run.py", line 129, in run
    service_runner.start()
  File "d:\programfiles\lib\site-packages\nameko\runners.py", line 66, in start
    SpawningProxy(self.containers).start()
  File "d:\programfiles\lib\site-packages\nameko\utils\__init__.py", line 186, in spawning_method
    return list(pool.imap(call, self._items))
  File "d:\programfiles\lib\site-packages\eventlet\greenpool.py", line 244, in next
    val = self.waiters.get().wait()
  File "d:\programfiles\lib\site-packages\eventlet\greenthread.py", line 179, in wait
    return self._exit_event.wait()
  File "d:\programfiles\lib\site-packages\eventlet\event.py", line 121, in wait
    return hubs.get_hub().switch()
  File "d:\programfiles\lib\site-packages\eventlet\hubs\hub.py", line 295, in switch
    return self.greenlet.switch()
  File "d:\programfiles\lib\site-packages\eventlet\hubs\hub.py", line 347, in run
    self.wait(sleep_time)
  File "d:\programfiles\lib\site-packages\eventlet\hubs\selects.py", line 50, in wait
    writers.get(fileno, noop).cb(fileno)
  File "d:\programfiles\lib\site-packages\eventlet\greenthread.py", line 218, in main
    result = function(*args, **kwargs)
  File "d:\programfiles\lib\site-packages\nameko\utils\__init__.py", line 181, in call
    return getattr(item, name)(*args, **kwargs)
  File "d:\programfiles\lib\site-packages\nameko\messaging.py", line 225, in setup
    verify_amqp_uri(self.amqp_uri)
  File "d:\programfiles\lib\site-packages\nameko\amqp\utils.py", line 49, in verify_amqp_uri
    with transport.establish_connection():
  File "d:\programfiles\lib\site-packages\kombu\transport\pyamqp.py", line 116, in establish_connection
    conn = self.Connection(**opts)
  File "d:\programfiles\lib\site-packages\nameko\amqp\utils.py", line 26, in init
    super(ConnectionTester, self).__init__(*args, **kwargs)
  File "d:\programfiles\lib\site-packages\amqp\connection.py", line 165, in init
    self.transport = self.Transport(host, connect_timeout, ssl)
  File "d:\programfiles\lib\site-packages\amqp\connection.py", line 186, in Transport
    return create_transport(host, connect_timeout, ssl)
  File "d:\programfiles\lib\site-packages\amqp\transport.py", line 299, in create_transport
    return TCPTransport(host, connect_timeout)
  File "d:\programfiles\lib\site-packages\amqp\transport.py", line 95, in init
    raise socket.error(last_err)
OSError: [Errno 10061] WSAECONNREFUSED

我们用来运行的命令,

nameko run --config configuration/nameko.yml test 3000 &

nameko.yml 文件包含以下配置,

AMQP_URI: amqp://guest:guest@10.10.10.10:5672    
WEB_SERVER_ADDRESS: 10.10.10.10:5672

操作系统: Windows 10(Python 代码) Linux(RabbitMQ 服务器)

请帮助我们解决这个问题。

【问题讨论】:

  • 你的web服务器地址真的和你的rabbitmq地址一样吗? Web 服务器地址是其他人浏览到您的服务器的位置(应该在 Windows 机器上)
  • 如果您使用的是 rabbitmq,请检查您是否可以通过端口:15672 访问管理插件,并且您的网络服务器地址必须使用不同的端口才能运行您的应用程序

标签: windows python-3.x rabbitmq nameko


【解决方案1】:

防火墙是否可能阻止传入(在 rabbit 服务器上)或传出(从 windows 服务器)连接?

你可以吗? telnet 或以其他方式验证您是否可以通过配置中的 ipaddress 和端口从 windows 服务器连接到 linux 服务器?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-02-18
    • 1970-01-01
    • 1970-01-01
    • 2016-05-02
    • 2014-08-30
    • 2016-11-28
    • 2017-01-04
    • 1970-01-01
    相关资源
    最近更新 更多