2017-03-07 4 views
0

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アドレス、仮想ホスト名は何にする必要がありますか。 資格情報を確認しました。使用しているユーザーが存在し、 '/'仮想ホストにアクセスする権利があります。

私はセキュリティグループに必要な変更を加えました。 これはそれのスクリーンショットです:私はそれが正常に働いているインスタンス内から同じプロデューサーのコードを実行していた場合

enter image description here

。例外はなく、消費者もそれを受け取ることができる。私は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() 

答えて

0

credentials = pika.PlainCredentials('username,'password') 
connection = pika.BlockingConnection(pika.ConnectionParameters('hostname',port,'virtual host',credentials,**socket_timeout=10000**)) 

これは、参考のために、私の完全なコードです

関連する問題