• CentOS上安装RabbitMQ3.6.X


    RabbitMQ3.6.1的安装方法跟以前的版本有点不一样,我在网上找了很多资料,基本都是3.1左右的版本,而且安装过程很繁琐,所以我花了一下午 的时间研究如何实现最简安装。为了让大家少走弯路,就把安装过程记录了下来,也便于以后如果忘记了好查阅。3.6最大的特点就是不用再运行make命令 了,而是直接解压就可以用。下面是具体步骤:

     

    1. 首先下载RabbitMQ,地址为:http://www.rabbitmq.com/install-generic-unix.html。这里我们下 载的是generic unix的版本,下载的文件名为:rabbitmq-server-generic-unix-3.6.1.tar.xz。xz是一个使用LZMA压缩算 法的无损数据压缩文件格式,是绝大数linux默认就带的一个压缩工具。其解压方式为xz -d {要解压的文件名},解压出来是一个tar文件,我就可以用tar文件的解压方法tar -xvf {解压出来的tar文件名}。

    wKioL1bYb-7DKz6KAABJcgAenfw516.png
    tar解压出来是一个叫rabbitmq_server-3.6.1的文件夹,为了便于管理我们把它移动到/usr/local/bin下。

    wKiom1bYcIODrdjNAAAx_19O9jk568.png
    到此为止RabbitMQ的基本安装就完成了,这个版本是不需要其他额外的编译和安装的。

    2. 安装最新版的Erlang,因为RabbitMQ是基于Erlang开发的。记住:一定要用最新的版本,不然启动RabbitMQ时可能会出错,这个问题我开始弄了几个小时才发现是Erlang的版本太低的原因。

    去Erlang官网下载最新的Source File文件,地址是:http://www.erlang.org/downloads

    wKiom1bYXpbx5sUPAADdJzImens278.png

    下载下来的文件名为:otp_src_18.2.1.tar.gz,我们用tar -zxvf解压就可以了。解压和生成otp_src_18.2.1文件夹,进入该文件夹,然后用./configure --prefix=/usr/local/bin/erlang --without-javac来配置,该命令可能会出现很多错误,基本都缺少相关的依赖,下面会列出具体的错误描述和解决方法。

    错误1:

     
    Ignoring the --cache-file argument since it can cause the system to be erroneously configured
    Disabling caching
    checking build system type... x86_64-unknown-linux-gnu
    checking host system type... x86_64-unknown-linux-gnu
    checking for gcc... no
    checking for cc... no
    checking for cc... no
    checking for cl... no
    configure: error: no acceptable C compiler found in $PATH
    See `config.log' for more details.

    原因:缺少GCC编译器。解决方法:

     
    yum install -y gcc-c++

    错误2:

    checking for tgetent in -ltinfo... no
    checking for tgetent in -lncurses... no
    checking for tgetent in -lcurses... no
    checking for tgetent in -ltermcap... no
    checking for tgetent in -ltermlib... no
    configure: error: No curses library functions found
    configure: error: /bin/sh '/software/otp_src_18.2.1/erts/configure' failed for erts

    原因:未安装curses。解决方法:

     
    yum -y install ncurses-devel

    错误3:

    crypto         : No usable OpenSSL found
    jinterface     : Java compiler disabled by user
    odbc           : ODBC library - link check failed
    ssh            : No usable OpenSSL found
    ssl            : No usable OpenSSL found

    原因:缺少OpenSSL。解决方法:

     
    yum install openssl-devel

    错误4:

    jinterface     : Java compiler disabled by user
    odbc           : ODBC library - link check failed

    原因:缺少ODBC  library。解决方法:

     
    yum install unixODBC-devel

    最后运行make和make insall命令,运行完之后,在/usr/local/bin下面就有erlang文件夹了。我们先把RabbitMQ和Erlang的可执行文件的路 径加入path中,以便在任何地方都可以执行。这里我们直接改etc/profile文件,以便对所有用户起作用。在profile适当的位置加入:

     
    export PATH=$PATH:/usr/local/bin/erlang/bin:/usr/local/bin/rabbitmq_server-3.6.1/sbin

    配完后输入source /etc/profile让配置起作用,然后输入erl,如果出现以下画面则说明安装成功。

    wKioL1bYe1CTgTyoAAAbK5hqGio047.png

    最后输入rabbitmq-server,出现以下画面就说明RabbitMQ启动成功。

    ./rabbitmq-server -detached可以实现后台启动

    rabbitmq配置

    一般情况下,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    //插件的路径

     

    rabbitmq.config
    这是一个标准的erlang配置文件。它必须符合erlang配置文件的标准。
    它既有默认的目录,也可以在rabbitmq-env.conf文件中配置。

    文件的内容详见:http://www.rabbitmq.com/configure.html#config-items

     

    wKiom1bYfBfy_CSPAABAtNksZ08072.png

    如果要使用WEB管理界面,运行以下命令:

     
    rabbitmq-plugins enable rabbitmq_management

    WEB管理界面的默认用户名和密码都是guest,浏览器访问地址:http://host:15672,会要求输入用户名和密码,用默认的guest/guest即可(guest/guest用户只能从localhost地址登录,如果要配置远程登录,必须另创建用户),

    添加新用户的方法:

     

    $  cd /usr/lib/rabbitmq/bin/
    #用户名与密码
    $ sudo rabbitmqctl add_user webadmin 123456
    #用户设置为administrator才能远程访问
    $ sudo rabbitmqctl set_user_tags webadmin administrator         
    $ sudo rabbitmqctl set_permissions -p / webadmin ".*" ".*" ".*"

     

    确认后会出现下面界面:

    wKioL1bYfVSiaVUGAABdmNfCnbg844.png

    最后一个问题:我们有可能在启动RabbitMQ时遇到{ERROR: epmd error for host "****"}错误。这是因为你的主机名和ip不匹配,必须把当前的hostname放入/etc/hosts文件中。当RabbitMQ用上面的默认方 法安装后,使用的地址是127.0.0.1,把当前的hostname追加到/etc/hosts文件中127.0.0.1后面就可以了。

     

    总结:RabbitMQ3.6的版本已经不需要以前那么复杂的安装过程,只用安装好Erlang就可以了。像Python等依赖软件只要是比较新的Linux发行版本基本都已经集成了。

  • 相关阅读:
    什么是Servlet?
    哪种情况下用哪种域对象
    相对于Statement,PreparedStatement的优点是什么?
    JDBC的PreparedStatement是什么?
    execute,executeQuery,executeUpdate的区别是什么?
    什么是JDBC,在上面时候会用到它?
    ArrayList、LinkedList、Vector 的区别。
    int 和 Integer 有什么区别
    Java 为每个原始类型提供了哪些包装类型
    什么是JDBC,在上面时候会用到它?
  • 原文地址:https://www.cnblogs.com/hyl8218/p/5573301.html
Copyright © 2020-2023  润新知