由于自己要在Ubuntu安装并测试rabbitMQ 去网上找了很多流程,期间也遇见了很多坑,自己一点点摸索解决,于是就有了记录这个问题的想法话不多说今天就来讲一下安装rabbitMQ的流程:
一 、rabbitMq的安装与命令:
1.由于rabbitMq需要erlang语言的支持,在安装rabbitMq之前需要安装erlang,执行命令:
sudo apt-get install erlang-nox
2.安装rabbitMq命令:
sudo apt-get update
sudo apt-get install rabbitmq-server
3.启动、停止、重启、状态rabbitMq命令:
启动:sudo rabbitmq-server start
关闭: sudo rabbitmq-server stop
重启: sudo rabbitmq-server restart
查看状态:sudo rabbitmqctl status
4.安装好了以后可以使用 ps -ef|grep rabbit 查看RabbitMQ的情况
至此rabbitMQ安装完成
二 、远程访问以及登录权限问题解决
本以为安装完rabbitMQ以后配置一下就可以正常使用,后来发现是我想的太简单了,下面总结一下容易遇到的一些坑
1.启用 web端可视化操作界面,我们还需要配置Management Plugin插件
rabbitmq-plugins enable rabbitmq_management # 启用插件
service rabbitmq-server restart # 重启
此时,应该可以通过 http://localhost:15672 查看,使用默认账户guest/guest 登录。
注意:RabbitMQ 3.3 及后续版本,guest 只能在服务本机登录。
官方文档说是默认会创建guest用户,但是只能服务器本机登录,建议创建其他新用户,授权,用来做其他操作。
2.增加用户以及授权
rabbitmqctl list_users #查看用户
rabbitmqctl add_user admin yourpassword # 增加普通用户
abbitmqctl set_user_tags admin administrator # 给普通用户分配管理员角色
ok,你可以在你的浏览器上输入:http://服务器Ip:15672/ 来访问你的rabbitmq监控页面。使用刚刚添加的新用户登录。
本来以为这样就可以正常使用了,谁知道用代码运行还是报连接错误,这时候问题就比较难追踪了,后来看了很多文章找到了原因原来是用户权限问题
3.权限问题以及解决
要解决这个问题需要配置远程登录权限,这里通过配置文件来实现远程访问。
首先去用户界面
可以看到admin这个用户是没有访问权限的这里我们要进行授权
授权成功,接下来我们要更改配置文件
在rabbitMQ安装目录下
vim rabbitmq.config.example.gz
用户以及授权添加完成之后,在rabbitmq.config.example.gz文件中,添加以下内容,保存后重启RabbitMQ服务:
[
{rabbit,
[%%
%% Network Connectivity
%% ====================
%%
%% By default, RabbitMQ will listen on all interfaces, using
%% the standard (reserved) AMQP port.
%%
{tcp_listeners, [5672]},
{loopback_users, ["admin"]},
……
]}
].
至此既可以在网页用admin登录也可以在程序中通过配置连接,rabbbitMQ安装完成可以使用啦!