(3)RabbitMQ安装与配置web管理页面

这一节我们将会在Linux上安装配置单机版的RabbitMQ,并且会介绍一下如何启动关闭服务、查看服务状态等命令,另外还会简单介绍一下web管理页面的配置使用方式。

前言

这里所介绍的是在Linux上安装的,在Linux上安装配置RabbitMQ还是遇到了不少坑的,其实主要是erlang的安装及配置,一般如果erlang安装配置正确了,后面RabbitMQ的安装还是比较简单的,网上关于RabbitMQ的安装方式大概三种,其实主要区别就在于erlang的安装方式不同。

所用服务器为centos6,因为RabbitMQ是基于erlang语言的,所以在安装RabbitMQ之前要先安装配置erlang,本次安装使用版本为erlang19.3、RabbitMQ3.6.10。erlang下载地址为http://www.erlang.org/downloads,RabbitMQ下载地址为http://www.rabbitmq.com/releases/rabbitmq-server/,关于RabbitMQ各个版本要求的erlang版本的介绍在https://www.rabbitmq.com/which-erlang.html ,你可以根据自己安装的版本选择合适的erlang版本,RabbitMQ官方的安装配置文档地址为https://www.rabbitmq.com/download.html

一、安装编译工具

在安装erlang之前,先执行如下命令安装编译工具,省的安装erlang过程中因缺少东西出现的错误。

yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel

二、安装配置erlang

下载erlang19.3地址为http://erlang.org/download/otp_src_19.3.tar.gz,上传到Linux服务器上,然后执行如下命令安装

#解压 
tar xvf otp_src_19.3.tar.gz 
cd otp_src_19.3
 
#配置 '--prefix'指定的安装目录,--without-javac 表示不用安装javac 
./configure --prefix=/usr/local/erlang --with-ssl -enable-threads -enable-smmp-support -enable-kernel-poll --enable-hipe --without-javac

#编译安装 
make && make install

erlang安装比较耗时间,可能我的电脑配置不好,整个过程花了将近20分钟,看到如下结果表示erlang安装成功。

如果安装过程中出现类似关键报错信息: No curses library functions found 。那么此时需要安装ncurses ,安装步骤(遇到提示输入y 后直接回车即可)如下:  yum install ncurses-devel,然后再安装erlang,只要执行了第一步,就不会出现这种情况。

安装完成后,需要将其配置到环境变量当中。

vim /etc/profile 
#在文件末尾添加下面代码 'ERLANG_HOME'等于上一步'--prefix'指定的目录 

ERLANG_HOME=/usr/local/erlang 
PATH=$ERLANG_HOME/bin:$PATH 
export ERLANG_HOME 
export PATH 

#使环境变量生效 
source /etc/profile 

#输入命令检验是否安装成功 
erl 

看到如下图所示,即表示安装配置完成。

三、安装RabbitMQ

http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.10/rabbitmq-server-generic-unix-3.6.10.tar.xz中下载rabbitmq-server-generic-unix-3.6.10.tar.xz,上传到Linux服务器上。该安装包不用执行make & make install,解压即可使用。

#直接解压缩 
tar xvf rabbitmq-server-generic-unix-3.6.10.tar.xz

#复制解压得到的文件到rabbitmq
cp -r rabbitmq_server-3.6.10/ rabbitmq

#移动上一步复制的rabbitmq到 /usr/local下
mv rabbitmq /usr/local/

然后配置一下环境变量

vim /etc/profile 
#在文件末尾添加下面代码,配置rabbitmq的sbin目录

export PATH=$PATH:/usr/local/rabbitmq/sbin

#使环境变量生效 
source /etc/profile

四、RabbitMQ启动及配置

做完上面的配置,然后执行 rabbitmq-server (该命令ctrl+c后会关闭服务)前台启动

#启动命令,该命令ctrl+c后会关闭服务
[root@wkp4 local]# rabbitmq-server 

              RabbitMQ 3.6.10. Copyright (C) 2007-2017 Pivotal Software, Inc.
  ##  ##      Licensed under the MPL.  See http://www.rabbitmq.com/
  ##  ##
  ##########  Logs: /usr/local/rabbitmq/var/log/rabbitmq/rabbit@wkp4.log
  ######  ##        /usr/local/rabbitmq/var/log/rabbitmq/rabbit@wkp4-sasl.log
  ##########
              Starting broker...
 completed with 0 plugins.

 查看进程信息:ps -ef|grep rabbitmq

 执行rabbitmq-server -detached 可以后台启动。(后台启动时报 Warning: PID file not written; -detached was passed  暂时没有找到原因,但是不影响使用,如果大家有解决办法,还请不吝赐教)

执行 rabbitmqctl stop 可以关闭服务。也可以执行 kill 进程号 (ps -ef|grep rabbitmq查到的进程号)的方式关闭(不推荐这种)

执行 rabbitmqctl status 查看服务状态

[root@wkp4 ~]# rabbitmqctl status
Status of node rabbit@wkp4
[{pid,35788},
 {running_applications,
     [{rabbitmq_management,"RabbitMQ Management Console","3.6.10"},
      {rabbitmq_web_dispatch,"RabbitMQ Web Dispatcher","3.6.10"},
      {rabbitmq_management_agent,"RabbitMQ Management Agent","3.6.10"},
      {rabbit,"RabbitMQ","3.6.10"},
      {os_mon,"CPO  CXC 138 46","2.4.2"},
      {cowboy,"Small, fast, modular HTTP server.","1.0.4"},
      {ranch,"Socket acceptor pool for TCP protocols.","1.3.0"},
      {ssl,"Erlang/OTP SSL application","8.1.1"},
      {public_key,"Public key infrastructure","1.4"},
      {asn1,"The Erlang ASN1 compiler version 4.0.4","4.0.4"},
      {amqp_client,"RabbitMQ AMQP Client","3.6.10"},
      {rabbit_common,
          "Modules shared by rabbitmq-server and rabbitmq-erlang-client",
          "3.6.10"},
      {xmerl,"XML parser","1.3.13"},
      {cowlib,"Support library for manipulating Web protocols.","1.0.2"},
      {compiler,"ERTS  CXC 138 10","7.0.4"},
      {inets,"INETS  CXC 138 49","6.3.6"},
      {mnesia,"MNESIA  CXC 138 12","4.14.3"},
      {crypto,"CRYPTO","3.7.3"},
      {syntax_tools,"Syntax tools","2.1.1"},
      {sasl,"SASL  CXC 138 11","3.0.3"},
      {stdlib,"ERTS  CXC 138 10","3.3"},
      {kernel,"ERTS  CXC 138 10","5.2"}]},
 {os,{unix,linux}},
 {erlang_version,
     "Erlang/OTP 19 [erts-8.3] [source] [64-bit] [async-threads:64] [hipe] [kernel-poll:true]\n"},
 {memory,
     [{total,55793912},
      {connection_readers,0},
      {connection_writers,0},
      {connection_channels,0},
      {connection_other,2688},
      {queue_procs,2688},
      {queue_slave_procs,0},
      {plugins,888224},
      {other_proc,18894904},
      {mnesia,58752},
      {metrics,51760},
      {mgmt_db,163448},
      {msg_index,41664},
      {other_ets,2399664},
      {binary,63000},
      {code,24726014},
      {atom,1033401},
      {other_system,7516777}]},
 {alarms,[]},
 {listeners,[{clustering,25672,"::"},{amqp,5672,"::"},{http,15672,"::"}]},
 {vm_memory_high_watermark,0.4},
 {vm_memory_limit,611031449},
 {disk_free_limit,50000000},
 {disk_free,12368211968},
 {file_descriptors,
     [{total_limit,65436},
      {total_used,2},
      {sockets_limit,58890},
      {sockets_used,0}]},
 {processes,[{limit,1048576},{used,325}]},
 {run_queue,0},
 {uptime,6246},
 {kernel,{net_ticktime,60}}]

添加管理员:默认情况下,访问RabbitMQ 服务的用户名和密码都是"guest " , 这个账户有限制,默认只能通过本地网络(如localhost) 访问,远程网络访问受限,所以在实现生产和消费消息之前,需要另外添加一个用户,并设置相应的访问权限。

#添加用户: 用户名:wkp,密码:123456
rabbitmqctl add_user wkp 123456

#为wkp用户设置所有权限
rabbitmqctl set_permissions -p / wkp ".*" ".*" ".*"

#设置wkp用户为管理员角色
rabbitmqctl set_user_tags wkp administrator

#开启web管理器
rabbitmq-plugins enable rabbitmq_management

#关闭web管理器
rabbitmq-plugins disable rabbitmq_management

添加完管理员用户并开启web管理器之后,通过访问 http://ip:15672 ,然后输入上面添加的管理员账号密码即可访问web管理页面。

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值