zoukankan      html  css  js  c++  java
  • (转)RabbitMQ学习之安装

    http://blog.csdn.net/zhu_tianwei/article/details/40832185

    RabbitMQ是一个开源的AMQP实现,服务器端用Erlang语言编写,支持多种客户端,如:Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、XMPP、STOMP等,支持AJAX。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。

    AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,反之亦然。
    AMQP的主要特征是面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、安全。

     关于rabbitmq的介绍参考:http://www.ostest.cn/archives/497http://lynnkong.iteye.com/blog/1699684

    Rabbitmq 是用 erlang 语言写的,所以我们需要安装 Erlang,

    一、安装Erlang
        1)安装erlang依赖的基本环境 
    yum -y install make gcc gcc-c++  kernel-devel m4 ncurses-devel openssl openssl-devel xmlto zip unzip

       2)下载安装Erlang

         下载从Erlang的官网 http://www.erlang.org/download.html 下载最新的erlang安装包

    解压安装
    $ tar xvzf otp_src_17.3.tar.gz
    $ cd otp_src_17.3
    $ ./configure
    $ make
    $ make install
    二、安装python  和simplejson
    1)安装python  
    yum -y installpython  
    解压、安装
    $ tar xvzf simplejson-2.2.1.tar.gz
    $ cd simplejson-2.2.1
    $ python setup.py install
    三、安装启动rabbitmq
    tar -zxvf rabbitmq-server-3.4.1.tar.gz 
    make
    TARGET_DIR=/usr/local/rabbitmq/ SBIN_DIR=/usr/local/rabbitmq/sbin  MAN_DIR=/usr/local/rabbitmq/man DOC_INSTALL_DIR=/usr/local/rabbitmq/doc install 
    2)安装web插件
    mkdir /etc/rabbitmq/
    /usr/local/rabbitmq/sbin/rabbitmq-plugins enable rabbitmq_management #启用
    /usr/local/rabbitmq/sbin/rabbitmq-plugins disable rabbitmq_management #禁用
    查看插件列表:/usr/local/rabbitmq/sbin/rabbitmq-plugins list
    3)启动、关闭rabbitmq
    启动 nohup /usr/local/rabbitmq/sbin/rabbitmq-server –detached &
    关闭 /usr/local/rabbitmq/sbin/rabbitmqctl stop  &rabbitmqctl命令参考:http://www.rabbitmq.com/man/rabbitmqctl.1.man.html
    查看启动端口:lsof -i:5672
    启动出错原因:
    (1)主机名不同导致,需修改主机名称( /etc/sysconfig/network)及解析(/etc/hosts)
    (2)默认端口被占用5672,关闭被占用端口重新启动
    4)查看服务状态
    /usr/local/rabbitmq/sbin/rabbitmqctl status
    5)登录web控制台
    查看开启端口:
     netstat -atn |grep 15672
      netstat -atn |grep 55672
    端口存在,就可以用默认账号guest,guest登陆http://localhost:15672或55672,如果此时你从端口15672或55672登陆不了,请关闭防火墙,再次登陆,
     
    出于安全的考虑,guest这个默认的用户只能通过http://localhost:15672 来登录,不能使用IP地址登录,也就是不能远程访问,这对于服务器上没有安装桌面的情况是无法管理维护的。要解决这个问题增加用户。
     
    请运行如下的命令,增加用户admin,密码admin即可。
    /usr/local/rabbitmq/sbin/rabbitmqctl add_user admin admin
    /usr/local/rabbitmq/sbin/rabbitmqctl list_users
    /usr/local/rabbitmq/sbin/rabbitmqctl set_user_tags admin administrator
    四、配置
    主要参考官方文档:http://www.rabbitmq.com/configure.html
    一般情况下,RabbitMQ的默认配置就足够了。如果希望特殊设置的话,有两个途径:
    一个是环境变量的配置文件 rabbitmq-env.conf ;
    一个是配置信息的配置文件 rabbitmq.config;
    注意,这两个文件默认是没有的,如果需要必须自己创建。
    rabbitmq-env.conf
    这个文件的位置是确定和不能改变的,位于:/etc/rabbitmq目录下(这个目录需要自己创建)。
    文件的内容包括了RabbitMQ的一些环境变量,常用的有:
    #RABBITMQ_NODE_PORT=    //端口号
    #HOSTNAME=
    RABBITMQ_NODENAME=mq
    RABBITMQ_CONFIG_FILE=        //配置文件的路径
    RABBITMQ_MNESIA_BASE=/rabbitmq/data        //需要使用的MNESIA数据库的路径
    RABBITMQ_LOG_BASE=/rabbitmq/log        //log的路径
    RABBITMQ_PLUGINS_DIR=/rabbitmq/plugins    //插件的路径
    具体的列表见:http://www.rabbitmq.com/configure.html#define-environment-variables
    rabbitmq.config
    这是一个标准的erlang配置文件。它必须符合erlang配置文件的标准。
    它既有默认的目录,也可以在rabbitmq-env.conf文件中配置。
    文件的内容详见:http://www.rabbitmq.com/configure.html#config-items
  • 相关阅读:
    容器网络(一)docker容器网络驱动
    双指针遍历/滑动窗口 —— 209_长度最小的子数组
    双指针遍历/滑动窗口 —— 121_买卖股票的最佳时机
    双指针遍历/滑动窗口 —— 42_接雨水
    双指针遍历/滑动窗口 —— 26_删除排序数组中的重复项
    双指针遍历/滑动窗口 —— 16_最接近的三数之和
    双指针遍历/滑动窗口 —— 15_三数之和
    双指针遍历/滑动窗口 —— 11_盛最多水的容器
    双指针遍历/滑动窗口 —— 3_无重复字符的最长子串
    链表操作 —— 206_反转链表
  • 原文地址:https://www.cnblogs.com/telwanggs/p/7124548.html
Copyright © 2011-2022 走看看