我刚开始搞乱Mongrel2,所有教程都很好,直到我开始将Mongrel2处理程序send_spec和recv_spec指向localhost以外的地址,例如网络上的第二台机器。
我开始收到这些错误:
errno: Resource temporarily unavailable) Failed to bind send socket trying again for: tcp://xxx.xxx.xxx.xxx:49901
我的问题是当有两个节点A和B时,其中A是Mongrel2服务器而B是"工作者"对于A的一个处理程序,哪些地址会进入A的.conf文件的send_spec和recv_spec?
对不起,如果这是一个天真的问题,它让我很困惑。
答案 0 :(得分:0)
NodeA上的 PUSH (send_spec
)和 SUB (recv_spec
)端口( Mongrel2服务器)是绑定套接字所以你应该使用tcp://*:<port>
。通过使用*
作为地址,您可以从任何接口接收连接。
您的处理程序代码是需要特定地址的位置。我使用docker容器来运行我的Python处理程序,所以我总是需要为运行Mongrel2 Server tcp://172.16.1.?:<port>
的容器使用特定的IP地址。
如果所有这些都是 true :
您的处理程序应该能够连接。