Centos7 上安装配置 RabbitMQ

一、安装Erlang环境

  1、在安装erlang之前先安装下依赖文件(这一步不要忘掉了, 不然后面./configure的时候要报错):

yum install gcc glibc-devel make ncurses-devel openssl-devel xmlto

  2、到erlang官网去下载erlang安装包

    官网地址:http://www.erlang.org/downloads

    选择现在最新版本,右键复制链接地址,用wget进行下载

wget -c http://erlang.org/download/otp_src_22.0.tar.gz

    

    接下来解压:

tar -zxvf otp_src_22.0.tar.gz

    cd到otp_src_22.0目录

cd otp_src_22.0/

  3、编译安装( 我这里指定编译安装后放在/usr/local/erlang目录里面,这个你们可以改成其他的 ):

./configure --prefix=/usr/local/erlang

 

make && make install

  4、测试安装是否成功:

cd /usr/local/erlang/bin/ 

 

./erl

    若出现以下界面,则说明我们erlang配置OK了

     

    输入 halt().  退出控制台, 注意,halt后面有个点哈

  5、配置环境变量(ps:这个跟java的环境变量配置是差不多的)

vim /etc/profile

    在末尾加入这么一行即可:export PATH=$PATH:/usr/local/erlang/bin 

    更新配置文件:

source /etc/profile

    更新之后在任意地方输入erl能进入命令行, 那么就说明配置成功了。

  接下来进入我们的核心部分:配置rabbitmq

二、安装rabbitmq

  1、到官网下载最新安装包:https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.7.16/rabbitmq-server-generic-unix-3.7.16.tar.xz

wget -c https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.7.16/rabbitmq-server-generic-unix-3.7.16.tar.xz

  2.解压:

xz -d rabbitmq-server-generic-unix-3.7.16.tar.xz 

 

tar -xvf rabbitmq-server-generic-unix-3.7.16.tar

  3.将解压后的rabbitmq_server-3.7.16移动到/usr/loca目录下

mv rabbitmq_server-3.7.16/ /usr/local/

 

  4、配置rabbitmq的环境变量(这个跟上面的erlang配置以及java的环境变量差不多)

vim /etc/profile

    在末尾加入以下配置:export PATH=$PATH:/usr/local/rabbitmq_server-3.7.16/sbin

    更新配置文件:

source /etc/profile

    

  3、rabbitmq的基本操作:

    启动方式一:rabbitmq-server start

    启动方式二:rabbitmq-server -detached(以守护进程方式启动)

    启动方式三:rabbitmqctl start_app

    关闭:rabbitmqctl stop

    查看状态:rabbitmqctl status

  4、启动rabbitmq

rabbitmq-server -detached

出现以下画面,说明启动成功。如果无法正常启动,可能原因请看第三(关于rabbitmq安装后无法正常启动的问题)。

  5、安装Web管理界面插件:

    依次执行下列指令:

rabbitmqctl start_app #开启rabbitmq

rabbitmq-plugins enable rabbitmq_management #开启管理插件

  如果上面都顺利,重启rabbitmq服务,则可以打开访问管理页面:http://192.168.?.?:15672(IP地址为linux的ip地址)  端口默认为15672,

  若此处若不能打开访问管理页面,可能跟防火墙的设置有关系,具体请见https://www.cnblogs.com/zipxzf/p/11249846.html

 

     

  6、 配置web远程登录用户

  这里我们以创建个rabbitmq帐号,密码123456为例,创建一个账号并支持远程ip访问。

(1).创建账号

rabbitmqctl add_user rabbitmq 123456

(2).设置用户角色

rabbitmqctl  set_user_tags  rabbitmq administrator

(3).设置用户权限

rabbitmqctl set_permissions -p "/" rabbitmq ".*" ".*" ".*"

(4).设置完成后可以查看当前用户和角色(需要开启服务)

rabbitmqctl list_users

 

(5)、用创建的用户登录web控制台

  7、rabbitmq常用命令

    add_user        <UserName> <Password>

    delete_user    <UserName>

    change_password <UserName> <NewPassword>

    list_users

    add_vhost    <VHostPath>

    delete_vhost <VHostPath>

    list_vhostsset_permissions  [-p <VHostPath>] <UserName> <Regexp> <Regexp> <Regexp>

    clear_permissions [-p <VHostPath>] <UserName>

    list_permissions  [-p <VHostPath>]

    list_user_permissions <UserName>

    list_queues    [-p <VHostPath>] [<QueueInfoItem> ...]

    list_exchanges [-p <VHostPath>] [<ExchangeInfoItem> ...]

    list_bindings  [-p <VHostPath>]

    list_connections [<ConnectionInfoItem> ...]

 

三、关于rabbitmq安装后无法正常启动的问题:

[root@localhost ~]# rabbitmq-server


BOOT FAILED
===========

Error description:
   noproc

Log files (may contain more information):
   /usr/local/rabbitmq_server-3.6.15/var/log/rabbitmq/rabbit@localhost.log
   /usr/local/rabbitmq_server-3.6.15/var/log/rabbitmq/rabbit@localhost-sasl.log

Stack trace:
   [{gen,do_for_proc,2,[{file,"gen.erl"},{line,228}]},
    {gen_event,rpc,2,[{file,"gen_event.erl"},{line,239}]},
    {rabbit,ensure_working_log_handlers,0,
            [{file,"src/rabbit.erl"},{line,856}]},
    {rabbit,'-boot/0-fun-0-',0,[{file,"src/rabbit.erl"},{line,288}]},
    {rabbit,start_it,1,[{file,"src/rabbit.erl"},{line,424}]},
    {init,start_em,1,[]},
    {init,do_boot,3,[]}]

=INFO REPORT==== 25-Jul-2019::10:55:13.998594 ===
Error description:
   noproc

Log files (may contain more information):
   /usr/local/rabbitmq_server-3.6.15/var/log/rabbitmq/rabbit@localhost.log
   /usr/local/rabbitmq_server-3.6.15/var/log/rabbitmq/rabbit@localhost-sasl.log

Stack trace:
   [{gen,do_for_proc,2,[{file,"gen.erl"},{line,228}]},
    {gen_event,rpc,2,[{file,"gen_event.erl"},{line,239}]},
    {rabbit,ensure_working_log_handlers,0,
            [{file,"src/rabbit.erl"},{line,856}]},
    {rabbit,'-boot/0-fun-0-',0,[{file,"src/rabbit.erl"},{line,288}]},
    {rabbit,start_it,1,[{file,"src/rabbit.erl"},{line,424}]},
    {init,start_em,1,[]},
    {init,do_boot,3,[]}]


{"init terminating in do_boot",noproc}
init terminating in do_boot (noproc)

Crash dump is being written to: erl_crash.dump...done

出现此问题是因为安装的Erlang版本跟Rabbitmq版本相互不匹配,需找出版本出现问题的Erlang或者Rabbitmq,卸载再安装版本匹配的Erlang或者Rabbitmq。

 

posted on 2019-07-24 17:17  xufat  阅读(606)  评论(0编辑  收藏  举报

导航

/* 返回顶部代码 */ TOP