ububtu install rabiitmq and use it

Connie ·
更新时间:2024-09-20
· 741 次阅读

1、安装所需环境(无权限就使用sudo)

      apt-get install erlang-nox     # 安装erlang
      erl    # 查看relang语言版本,成功执行则说明relang安装成功
2、添加公钥

     wget -O- https://www.rabbitmq.com/rabbitmq-release-signing-key.asc | sudo apt-key add -

3、更新下工具

     apt-get update

4、install rabbitmq

     apt-get install rabbitmq-server  #安装成功自动启动

5、检查状态

     systemctl status rabbitmq-server   #Active: active (running) 说明处于运行状态

6、start stop restart

     service rabbitmq-server start    # 启动
     service rabbitmq-server stop     # 停止
     service rabbitmq-server restart  # 重启 
7、启用 web端可视化操作界面,我们还需要配置Management Plugin插件

     rabbitmq-plugins enable rabbitmq_management   # 启用插件
     service rabbitmq-server restart    # 重启

8、查看用户一般都有一个guest

     rabbitmqctl list_users

9、添加用户管理

     rabbitmqctl add_user admin yourpassword   # 增加普通用户
     rabbitmqctl set_user_tags admin administrator    # 给普通用户分配管理员角色 

    你可以在你的浏览器上输入:http://服务器Ip:15672/ 来访问你的rabbitmq监控页面。使用刚刚添加的新用户登录。

10、以下是python程序访问

     

import pika # 引入mq包 import time class RabbitMqSendMessage: def __init__(self, user, password, host, port,queue=None,durable=False,data=None): self.user = user self.password = password self.host = host self.port = port self.queue = queue self.credentials = pika.PlainCredentials(username=user,password=password) self.connection = pika.BlockingConnection(pika.ConnectionParameters( host=self.host,port=self.port,credentials=self.credentials)) # create a broker self.channel = self.connection.channel() # create a queue named SR self.res = self.channel.queue_declare(queue=self.queue,durable=durable) self.data = data def publish(self,data): message = data if not self.data else self.data self.channel.basic_publish(exchange='',routing_key=self.queue,body=message) def consuming(self,callback=None,auto_ack=False,): ''' basic_consume(self, queue, auto_ack=False, exclusive=False, consumer_tag=None, arguments=None): ''' self.channel.basic_consume(self.queue,callback,auto_ack=auto_ack) self.channel.start_consuming() def callback(self,ch, method, properties, body): #rewrite this method to satisfied your need if you have to print(body) def close(self): self.connection.close() if __name__ == '__main__': rmsm = RabbitMqSendMessage(user='admin',password='xxx', host='148.23.34.34',port='5672', queue='message',durable=True) for i in range(10): rmsm.publish("I am coming%s".format(str(i))) time.sleep(5) rmsm.close() # rmsm.consuming(rmsm.callback,True) # rmsm.close()

https://blog.csdn.net/chasejava/article/details/105912398  若出现问题accessdeny 可以查看此内容

chasejava 原创文章 35获赞 2访问量 3万+ 关注 私信 展开阅读全文
作者:chasejava



USE AND install

需要 登录 后方可回复, 如果你还没有账号请 注册新账号
相关文章
Isoke 2020-03-25
852