我在AWS EC2上運行我的RabbitMQ服務器 我已經在本地運行生產者和使用者代碼。這是工作。 我也可以訪問rabbitMQ管理web應用程序。向EC2上的RabbitMQ服務器發送消息時出現連接錯誤
當我想從我的筆記本電腦將數據推送到EC2 我收到這條線上此錯誤:
connection = pika.BlockingConnection(pika.ConnectionParameters('xx.xx.xx.xx',5672,'/',credentials))
文件「/usr/local/lib/python2.7/dist-packages/ pika/adapters/blocking_connection.py「,行339,在init self._process_io_for_connection_setup() 文件」/usr/local/lib/python2.7/dist-packages/pika/adapters/blocking_connection.py「,行374,in _process_io_for_connection_setup self._open_error_result.is_ready) 文件「/usr/local/lib/python2.7/dist-packages/pik A /適配器/ blocking_connection.py」,線路395,在_flush_output 提高exceptions.ConnectionClosed() pika.exceptions.ConnectionClosed
其中XX.XX.XX.XX:我的實例的公網IP地址
請告訴我,如果我使用正確的參數。應該是什麼IP地址,虛擬主機名。 我檢查了憑據,我正在使用的用戶存在,並且它有權訪問'/'虛擬主機
我已經在安全組中進行了必要的更改。 這是它的截圖:
當我從它的正常工作的實例中運行相同的生產代碼。沒有例外,消費者也能夠接受它。
這是我參考的完整代碼:
import pika
print("Start")
credentials=pika.PlainCredentials('manish','manish')#RabbitMQ user created on EC2
connection=pika.BlockingConnection(pika.ConnectionParameters('xx.xx.xx.xx',5672,'/',credentials))
channel = connection.channel()
channel.queue_declare(queue='hello')
channel.basic_publish(exchange='',
routing_key='hello',
body='Hello World!')
print(" [x] Sent 'Hello World!'")
connection.close()