2013-06-11 13 views
12

私はDjango CeleryワーカーをRabbitMQサーバーに接続しようとしています。これらはすべて同じホスト上で動作しています。私はmanage.py celery workerを実行したときにRabbitMQ-Server接続を許可する

しかし、私が得るすべては次のとおりです。

[2013-06-11 17:33:41,185: WARNING/MainProcess] [email protected] has started. 
[2013-06-11 17:33:44,192: ERROR/MainProcess] Consumer: Connection Error: Socket closed. Trying again in 2 seconds... 
[2013-06-11 17:33:50,203: ERROR/MainProcess] Consumer: Connection Error: Socket closed. Trying again in 4 seconds... 
[2013-06-11 17:34:03,214: ERROR/MainProcess] Consumer: Connection Error: Socket closed. Trying again in 6 seconds... 
[2013-06-11 17:34:27,232: ERROR/MainProcess] Consumer: Connection Error: Socket closed. Trying again in 8 seconds... 

私が調べたときに私/var/log/rabbitmq/[email protected]私のようないくつかのメッセージを参照してください。私はUbuntuの外の標準パッケージを使用してい

=ERROR REPORT==== 11-Jun-2013::17:33:44 === 
exception on TCP connection <0.201.0> from 127.0.0.1:43461 
{channel0_error,opening, 
       {amqp_error,access_refused, 
          "access to vhost 'myapp' refused for user 'guest'", 
          'connection.open'}} 

12.04のレポ、デフォルト設定と私のジャンゴ・セロリの設定は次のようになります:

BROKER_HOST = "localhost" 
BROKER_PORT = 5672 
BROKER_USER = "guest" 
BROKER_PASSWORD = "guest" 
BROKER_VHOST = "myapp" 

なぜRabbitMQは接続を拒否していますか?

答えて

32

「ゲスト」ユーザーの仮想ホスト「/ myapp」へのアクセスを許可する必要があるようです。

From the docs

set_permissions [-p vhostpath] {user} {conf} {write} {read} 

だから、これに似た何かがあなたのゲストユーザに無制限のアクセス与える:

rabbitmqctl set_permissions -p /myvhost guest ".*" ".*" ".*" 
関連する問題