web-dev-qa-db-ja.com

RabbitMQ、ローカルホスト以外でHelloWorldの例を機能させるのに問題があります

私はRabbitMQを学習しており、ローカルホストで問題なくhello worldの例を http://www.rabbitmq.com/tutorials/tutorial-one-python.html で実行しました。 PCから別のサーバーへのメッセージングをテストしたいのですが、receive.pyがメッセージを受信しないようです。おそらく、ホスト名を正しく指定していませんか?

Receive.py:


#!/usr/bin/env python
import pika
import json

connection = pika.BlockingConnection(pika.ConnectionParameters(
        Host='66.175.x.x'))
channel = connection.channel()

channel.queue_declare(queue='hello')

print ' [*] Waiting for messages. To exit press CTRL+C'

def callback(ch, method, properties, body):
    data = json.loads(body)
    print "Log filename is " + data["filename"]
    print data["content"]

channel.basic_consume(callback,
                      queue='hello',
                      no_ack=True)

channel.start_consuming()

send.py:


#!/usr/bin/env python
import pika
import json
import sys

filename = sys.argv[1]
logdata = open(filename, 'r').read()

connection = pika.BlockingConnection(pika.ConnectionParameters(
        Host='66.175.x.x'))
channel = connection.channel()

channel.queue_declare(queue='logupload')
n = filename.rfind('\\')
if n != -1:
    filename = filename[n + 1:]
data = {"filename":filename, "logdata":logdata}

channel.basic_publish(exchange='',
                      routing_key='logupload',
                      body=json.dumps(data))
connection.close()
print "sent %s %d bytes" % (filename, len(logdata))
4
fred basset

RabbitMQ -- http://www.rabbitmq.com/configure.html

Frame_maxを参照してください。デフォルトでは128KBがサポートされているようです。インストールでその設定を確認することをお勧めします。

3
Chida

Rabbitmqが実際にポート5672でリッスンしていること、およびポートがLinodeサーバーのファイアウォールで開いていることを確認してください。

構成では、RABBITMQ_NODE_IP_ADDRESSは空白で、RABBITMQ_NODE_PORTは5672である必要があります。

2
Michael Hampton