• RabbitMQ的RPM包安装和Python读写操作


    下载地址

    1. ## erlang 下载地址
    2. https://packagecloud.io/rabbitmq/erlang?page=6
    3. ## rabbitmq 下载地址
    4. https://packagecloud.io/rabbitmq/rabbitmq-server/packages/el/7/rabbitmq-server-3.8.29-1.el7.noarch.rpm?distro_version_id=140

    Rabbitmq的RPM包安装

    1. ## 安装erlang
    2. curl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh | sudo bash
    3. sudo yum install erlang-23.3.4.7-1.el7.x86_64
    4. ##
    5. wget --content-disposition "https://packagecloud.io/rabbitmq/rabbitmq-server/packages/el/7/rabbitmq-server-3.8.29-1.el7.noarch.rpm/download.rpm?distro_version_id=140"
    6. ## 启动
    7. systemctl start rabbitmq-server

    默认账号密码:guest/guest,rabbitmq 从 3.3.0 开始禁止使用 guest/guest 权限通过除 localhost 外的访问。

    创建后创建用户相关命令

    1. ## 创建用户,第二个knight 为密码
    2. rabbitmqctl add_user knight knight
    3. ##设置用户分配操作权限
    4. rabbitmqctl set_user_tags knight administrator
    5. ##
    6. rabbitmqctl set_permissions -p / knight ".*" ".*" ".*"
    7. ##
    8. systemctl status rabbitmq-server
    9. ## 开启 web 访问
    10. rabbitmq-plugins enable rabbitmq_management
    其他常用命令
    1. ##
    2. https://blog.csdn.net/knight_zhou/article/details/132599796

    Python读写

    1. ### 依赖库
    2. pip install pika
    参考文章
    1. ##
    2. https://support.huaweicloud.com/intl/zh-cn/devg-rabbitmq/rabbitmq-devg-003.html
    生产者
    1. import pika
    2. import random
    3. random_int = random.randint(1,100)
    4. #Connection information
    5. conf = {
    6. 'host': 'yy.cn',
    7. 'port': 5672,
    8. 'queue_name': 'queue-test',
    9. 'username': 'admin',
    10. 'password': 'admin'
    11. }
    12. credentials = pika.PlainCredentials(conf['username'], conf['password'])
    13. parameters = pika.ConnectionParameters(conf['host'],
    14. conf['port'],
    15. '/',
    16. credentials)
    17. connection = pika.BlockingConnection(parameters)
    18. channel = connection.channel()
    19. channel.queue_declare(conf['queue_name'])
    20. # data = bytes(str(random_int), encoding="utf-8")
    21. data = bytes("cc", encoding="utf-8")
    22. channel.basic_publish(exchange='',
    23. routing_key=conf['queue_name'],
    24. body=data)
    25. print("produce...")
    26. connection.close()
    消费者
    1. import pika
    2. #Connection information
    3. conf = {
    4. 'host': 'yy.cn',
    5. 'port': 5672,
    6. 'queue_name': 'queue-test',
    7. 'username': 'admin',
    8. 'password': 'admin'
    9. }
    10. credentials = pika.PlainCredentials(conf['username'], conf['password'])
    11. parameters = pika.ConnectionParameters(conf['host'],
    12. conf['port'],
    13. '/',
    14. credentials)
    15. connection = pika.BlockingConnection(parameters)
    16. channel = connection.channel()
    17. channel.queue_declare(conf['queue_name'])
    18. def callback(ch, method, properties, body):
    19. print(" [x] Received %r" % body.decode('utf-8'))
    20. channel.basic_consume(queue=conf['queue_name'], on_message_callback=callback, auto_ack=True)
    21. print(' [*] Waiting for messages. To exit press CTRL+C')
    22. channel.start_consuming()

  • 相关阅读:
    (笔记整理未完成)【字符串算法:Trie树】
    SpringBoot-内容协商
    【高效】【IDE】IDEA 常用设置详解(持续更新)
    C++重温笔记(十一): C++文件操作
    图论刷题记录
    Leecode DAY16: 二叉树的最大深度 and 二叉树的最小深度 and 完全二叉树的节点个数
    ORB-SLAM2局部建图线程
    如何阅读芯片手册
    Metasploit-模块介绍
    【Java开发】 Spring 03:云服务器 Docker 环境下安装 MongoDB 并连接 Spring 项目实现简单 CRUD:
  • 原文地址:https://blog.csdn.net/knight_zhou/article/details/132722980