AWS EC2でRabbitMQ Serverが実行されています プロデューサとコンシューマコードをローカルで実行しました。それは働いている。 私は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、_process_io_for_connection_setup内 self._open_error_result.is_ready) ファイル "/usr/local/lib/python2.7/dist-packages/pik /アダプタ/ blocking_connection.py」、行395、exceptions.ConnectionClosed _flush_output 昇給(中) はXX.XX.XX.XX
pika.exceptions.ConnectionClosed:私のインスタンスのパブリックIPアドレス
を私は正しいパラメータを使用している場合は、私に教えてください。 IPアドレス、仮想ホスト名は何にする必要がありますか。 資格情報を確認しました。使用しているユーザーが存在し、 '/'仮想ホストにアクセスする権利があります。
私はセキュリティグループに必要な変更を加えました。 これはそれのスクリーンショットです:私はそれが正常に働いているインスタンス内から同じプロデューサーのコードを実行していた場合
。例外はなく、消費者もそれを受け取ることができる。私はsocket_timeout
を試み、それはあなたのような何かを試みることができる、私のために働いた
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()