简体   繁体   English

使用RabbitMQ重置了连接

[英]The connection was reset using RabbitMQ

Helo, 喂,

I am really new at rabbitmq. 我在Rabbitmq真的很新。 I was trying to establish a rabbitmq router and send him a HelloWorld in python using pika. 我试图建立一个Rabbitmq路由器,并使用pika用python发送给他一个HelloWorld。

In terminal i do sudo rabbitmq-server start. 在终端我做sudo rabbitmq-server启动。 I can enter localhost:15672. 我可以输入localhost:15672。 But when i try to connect to localhost:5672 appears "AMQP" for one second and then "The connection was reset". 但是,当我尝试连接到本地主机时:5672出现“ AMQP”一秒钟,然后显示“连接已重置”。

When doing sudo rabbitmqctl list_connections, my connection doesn't appear. 当执行sudo rabbitmqctl list_connections时,我的连接没有出现。 When doing netstat -tapnl | 当做netstat -tapnl | grep 5672 it appears this: grep 5672看起来是这样的:

tcp        0      0 0.0.0.0:15672           0.0.0.0:*               LISTEN      -                   
tcp        0      0 127.0.0.1:5672          0.0.0.0:*               LISTEN      -                   
tcp        0      0 0.0.0.0:25672           0.0.0.0:*               LISTEN      -  

My python is giving the error ProbableAccessDeniedError, but I have configured all right i think. 我的python给了错误ProbableAccessDeniedError,但是我认为我已经配置好了。 Here is a snipet: 这是一个片段:

import pika
from pika.exceptions import ProbableAccessDeniedError
from pika.exceptions import ProbableAuthenticationError


if __name__ == '__main__':

    credentials = pika.PlainCredentials('name', 'pass)
    # change the ip in here!
    parameters = pika.ConnectionParameters(
                   host='localhost', port=5672, vhost='test', credentials=credentials)
    try:
        connection = pika.BlockingConnection(parameters)

        channel = connection.channel()

        channel.basic_publish(exchange='',
                              routing_key='hello',
                              body='Hello World!')
        print(" [x] Sent 'Hello World!'")

    except ProbableAuthenticationError:
        print("Authetication Error")
    except ProbableAccessDeniedError:
        print("Authetication Denied")
    finally:
        if channel:
            channel.close()
        if connection:
            connection.close()

And here is my rabbitmq.config: 这是我的rabbitmq.config:

[
  {rabbit, [
    % Network Connectivity
    % ====================
    {tcp_listeners,[{"127.0.0.1",5672}]},
    {num_tcp_acceptors, 5},
    {handshake_timeout, 10000},
    % Default User / VHost
    % ====================
    {default_vhost,       <<"test">>},
    {default_user,        <<"name">>},
    {default_pass,        <<"pass">>},
    {default_permissions, [<<".*">>, <<".*">>, <<".*">>]},
    {loopback_users, []}
  ]}
].

So I guess the problem is because of the localhost:5672. 所以我想问题是因为本地主机:5672。 Any idea? 任何想法?

http://www.rabbitmq.com/man/rabbitmqctl.1.man.html http://www.rabbitmq.com/man/rabbitmqctl.1.man.html

You must add a rabbitmq user, 您必须添加一个rabbitmq用户,

rabbitmqctl add_user username password

control your user 控制您的用户

rabbitmqctl list_users

add vhost 添加虚拟主机

rabbitmqctl add_vhost test

user vhost permissions 用户虚拟主机权限

rabbitmqctl set_permissions -p / username ".*"  ".*" ".*"

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM