安装RabbitMQ遇到的一些坑
Ubantu18.0正确安装RabbitMQ
1、安装erlang
因为RabbitMQ需要erlang语言的支持,所以我们需要先安装erlang.
sudo apt-get install erlang-nox
2、安装Rabbitmq
先更新源
sudo apt-get update
再安装rabbitmq
sudo apt-get install rabbitmq-server
3、启动,停止,重启,查看rabbitMQ的一些命令
sudo rabbitmq-server start
sudo rabbitmq-server stop
sudo rabbitmq-server restart
sudo rabbitmqctl status
4、添加用户admin,并赋予administrator权限
因为我们可以使用一个RabbitMQ的可视化的管理工具,如图所示,进行消息的管理,那我们在这里需要配置登录的用户和密码。
添加admin用户,密码设置为admin;
sudo rabbitmqctl add_user admin admin
赋予权限
sudo rabbitmqctl set_user_tags admin administrator
赋予virtual host中所有资源的配置、写、读权限以便管理其中的资源
sudo rabbitmqctl set_permissions -p / admin '.*' '.*' '.*'
5、测试
浏览器输入http://localhost:15672,输入我们刚设置的用户和密码,登录进去就能看到Rabbit的首页了。
6、踩坑点
有没有注意到截图中我的url是192.168.154.128:15672,这是因为我采用了远程访问。我的rabbitmq安装在虚拟机上,这个192.168.154.128是我虚拟机的ip。
经测试按照上面的配置,一般是没有问题了,远程和本地开启RabbitMq都没有问题。我自己安装的时候,在虚拟机端访问没有任何问题,但是我远程访问怎么也访问不了。百度上说的是要配置阿里云服务器 ,去开放一下端口15672和5672的端口,操作很简单,我很快就添加好了端口,然后继续尝试,能进去登录界面,但是登录用户和密码就报错用户不存在。于是疯狂地想办法,去添加rabbitmq.config的配置文件,配置文件检查了数遍,结果还是失败。后面又继续百度,发现竟然是因为我的主机ping虚拟机ping不通导致的无法远程访问。终于找到了原因,于是去修改虚拟机的网络配置。ping通了,主机即能ping通虚拟机,虚拟机也能ping外网。问题解决!
7、另外一种安装方法
在看视频学习RabbitMQ的时候,老师用的是官网下载tar.gz包安装RabbitMQ。就是先下载erlang ,RabbitMq的包,然后解压,解压完了还要进行make ,make install ,不仅等待时间漫长,而且过程很麻烦。配置环境变量,在阿里云上放行端口。。等等。
一切都准确无误的弄好了以后,启动的时候竟然报错了。百度了一通,说是erlang和rabbitmq的版本必须要对应,否则安装不成功。我就去官网查看对应版本,再重新下包,重新安装。后面又报错了,各种。。。所以说,安装包的时候,一定记得要选对方法!