rabbtimq 消息队列py测试-rabbtimq集群连接参考
rpm -Uvh http://download.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-8.noarch.rpm yum install erlang -y
wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.6/rabbitmq-server-3.6.6-1.el7.noarch.rpm yum install rabbitmq-server-3.6.6-1.el7.noarch.rpm -y
service rabbitmq-server start service rabbitmq-server status systemctl enable rabbitmq-server.service systemctl start rabbitmq-server.service rabbitmq-plugins enable rabbitmq_management
[root@localhost ~]# ls /var/lib/rabbitmq/
mnesia
[root@localhost ~]# ls /etc/rabbitmq/
enabled_plugins
guest /guest 开始只允许本地访问
rabbitmqctl add_user root 123456 rabbitmqctl set_user_tags root administrator iptables -F
192.168.1.63:15672
可以打开web页面
命令使用
rabbitmqctl list_connections 查看连接数
rabbitmqctl list_queues 列队名称和消息数
rabbitmqctl status
添加虚拟机主机
rabbitmqctl add_vhost xuegod-web rabbitmqctl delete_vhost xuegod-web rabbitmqctl list_vhosts
账号管理
rabbitmqctl add_user root 123456 rabbitmqctl delete_user root rabbitmqctl change_password root
角色分配
rabbitmqctl set_user_tags root administrator
RabbitMQ的tag
用户角色分类:
none、management、policymaker、monitoring、administrator
tag常用角色为:
administrator, monitoring, management
权限设置
rabbitmqctl set_permissions [-p vhostpath] {user} {conf} {write} {read} rabbitmqctl set_permissions -p / root '.*' '.*' '.*' rabbitmqctl list_user_permissions root 查看权限
创建用户测试
rabbitmqctl add_user zsl 123456 rabbitmqctl set_user_tags zsl administrator rabbitmqctl set_permissions -p xuegod-web zsl '.*' '.*' '.*' rabbitmqctl list_user_permissions zsl
参考
生产者
import pika #coding=utf8 credentials = pika.PlainCredentials('guest', '密码') connection = pika.BlockingConnection(pika.ConnectionParameters('IP',5672,'/',credentials)) channel = connection.channel() channel.queue_declare(queue='hello') channel.basic_publish(exchange='', routing_key='hello', body='rabbitmq test!') print("开始队列") connection.close()
消费者
import pika #coding=utf8 credentials = pika.PlainCredentials('guest', '密码') connection = pika.BlockingConnection(pika.ConnectionParameters('IP',5672,'/',credentials)) channel = connection.channel() # rabbitmq消费端仍然使用此方法创建队列。这样做的意思是:若是没有就创建。和发送端道理道理。目的是为了保证队列一定会有 channel.queue_declare(queue='hello') # 收到消息后的回调 def callback(ch, method, properties, body): print(" [x] Received %r" % body) channel.basic_consume(callback, queue='hello', no_ack=True) print(' [*] Waiting for messages.') channel.start_consuming()
测试开始
yum install python -y yum install epel-release -y yum install python-pip -y pip install --upgrade pip pip install pika
vi send.py #!/usr/bin/env python import pika #coding=utf8 connection = pika.BlockingConnection(pika.ConnectionParameters( host='localhost')) channel = connection.channel() channel.queue_declare(queue='hello') channel.basic_publish(exchange='', routing_key='hello', body='rabbitmq test!') print(" [x] sent 'Hell world!'") connection.close()
vi receive.py #!/usr/bin/env python import pika #coding=utf8 connection = pika.BlockingConnection(pika.ConnectionParameters( host='localhost')) channel = connection.channel() channel.queue_declare(queue='hello') def callback(ch, method, properties, body): print(" [x] Received %r" % body) channel.basic_consume(callback, queue='hello', no_ack=True) print(' [*] Waiting for messages.to exit ctr+c') channel.start_consuming()
python send.py
rabbitmqctl list_queues
python receive.py
参考文件
https://www.cnblogs.com/uptothesky/p/6094357.html
https://blog.csdn.net/WoogeYu/article/details/51119101
集群
https://geewu.gitbooks.io/rabbitmq-quick/content/RabbitMQ%E5%88%86%E5%B8%83%E5%BC%8F%E8%AE%BE%E7%BD%AE%E4%B8%8E%E9%AB%98%E5%8F%AF%E7%94%A8%E6%80%A7%E8%AE%A8%E8%AE%BA.html
https://www.cnblogs.com/vipstone/p/9368106.html
https://www.cnblogs.com/vipstone/p/9362388.html

浙公网安备 33010602011771号