zoukankan      html  css  js  c++  java
  • RabbitMq在Centos的安装和使用方法

    由于公司需要批量发送消息微信模板消息,而单纯采用单线程发送消息太慢,所以决定采用MQ方式异步发送消息

    一、先下载erlang/otp 先安装上支持rabbitMq的底层语言包

    http://erlang.org/download/otp_src_19.3.tar.gz
    tar -zxvf  otp_src_19.3.tar.gz
    cd otp_src_19.3
    ./configure --prefix=/usr/local/erlang --with-ssl --enable-threads --enable-smp-support --enable-kernel-poll --enable-hipe --without-javac
    make && make install

    二、底层包安装好了,那么下载RabbitMq,然后使用(RabbitMq,你可以理解为绿色版,不需要安装可以直接使用了)

    下载:rabbitmq-server-generic-unix-3.7.5.tar.xz
    https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.7.5/rabbitmq-server-generic-unix-3.7.5.tar.xz
    tar -zxvf rabbitmq-server-generic-unix-3.7.5.tar.xz
    mv rabbitmq-server-generic-unix-3.7.5.tar.xz /usr/local

    三、编辑环境变量,让命令可以在liunx直接使用(注意路径,都安装到/usr/local目录下面了)

    vi  /etc/profile 编辑环境文件

    #ERLANG ERLANG_HOME
    =/usr/local/erlang export PATH=$PATH:$ERLANG_HOME/bin export ERLANG_HOME #RABBIT RABBITMQ_HOME=/usr/local/rabbitmq_server-3.7.5 export PATH=$PATH:$RABBITMQ_HOME/sbin export RABBITMQ_HOME

    source /etc/profile 保存使环境变量生效

    四、查看RabbitMq的状态和开启

    rabbitmqctl status
    rabbitmqctl start

    五、开启WEB端管理界面

    rabbitmqctl start_app
    rabbitmq-plugins enable rabbitmq_management
    
    接下来:浏览器输入你服务器的IP和端口号就可以管理RabbitMq
    http://115.*.*.*:15672/

    账号和密码默认:
    guest guest

    当然你也可以自己创建账号:

    rabbitmqctl add_user mqmsg 123456
    rabbitmqctl  set_user_tags mqmsg administrator
    rabbitmqctl set_permissions -p "/" mqmsg ".*" ".*" ".*"
    rabbitmqctl list_users

    账号就创建好了,下面py语句修改成你用户名和密码即可

    六、python安装Rabbit的插件pika(注意p2和p3的版本是不一样的)

    pip install pika==0.12.0 (要求python2.7以上)
    
    pip install pika==0.11.0 (要求python2.6以上)
    
    根据你py版本进行安装插件

    七、发送数据

    # coding=utf-8
    import pika #建立连接,RabbitMq的账号和密码 userx
    =pika.PlainCredentials("guest","guest") conn=pika.BlockingConnection(pika.ConnectionParameters("192.168.43.10",5672,'/',credentials=userx)) #开辟管道 channelx=conn.channel() #声明队列,参数为队列名 channelx.queue_declare(queue="dongchannel11") #发送数据,发送一条,如果要发送多条则复制此段 channelx.basic_publish(exchange="", routing_key="dongchannel11",# 队列名 body="dongxiaodongtodata3" # 发送的数据 ) print("--------发送数据完成-----------") #关闭连接 conn.close()

    八、接收数据

    # coding=utf-8
    import pika #建立连接,RabbitMq的账号和密码 userx
    =pika.PlainCredentials("guest","guest") conn=pika.BlockingConnection(pika.ConnectionParameters("192.168.43.10",5672,'/',credentials=userx)) #开辟管道 channelx=conn.channel() #声明队列,参数为队列名 channelx.queue_declare(queue="dongchannel11") #消息处理函数,执行完成才说明接收完成,此时才可以接收下一条,串行 def dongcallbackfun(v1,v2,v3,bodyx): print("得到的数据为:",bodyx) #接收准备 channelx.basic_consume(dongcallbackfun, #收到消息的回调函数 queue="dongchannel11", #队列名 no_ack=True #是否发送消息确认 ) print("-------- 开始接收数据 -----------") #开始接收消息 channelx.start_consuming()

  • 相关阅读:
    centos6.8安装DB2 10.5
    linux yum配置本地iso镜像
    DB2的空间数据库管理复杂配置
    高性能计算linux集群常用配置
    centos 6.8操作系统安装arcgis server 10.4
    【转】用python实现简单的文本情感分析
    Python3制作中文词云图
    MongoDB Replica Set搭建集群
    pycharm编写spark程序,导入pyspark包
    Mysql变量声明与使用
  • 原文地址:https://www.cnblogs.com/feimengv/p/13330917.html
Copyright © 2011-2022 走看看