目录
一、前言
安装完宝塔,然后在软件商店安装RabbitMQ的时候,安装完一直显示RabbitMQ未启动
服务器:阿里云
系统:Alibaba Cloud Linux 3.2104 LTS 64位
二、问题排查
安装完rabbitMQ不要着急关掉,有提示日志报错了
然后看了一下日志,说是/tmp/esl-erlang_26.0.2-1~alinux~3_x86_64.rpm 这个安装包没有
这个报错表示缺少erlang环境。
好家伙,宝塔这么专业的运维工具都会有BUG?当然网上说是阿里云系统的问题,现在各家都自己封装了一层linux,导致宝塔没有适配上这些各个自家云的系统,才导致出现问题的
既然这样的话,那我们就自己下载erlang环境,手动上传到tmp目录下面
三、问题解决
erlang下载地址:
bash
https://www.erlang-solutions.com/downloads/#
访问速度有点慢,所以我把我下载的上传到csdn了,csdn下载速度挺快的,点击可以直接下载
https://download.csdn.net/download/qq_27471405/89722386
下载后,然后改一下名字,上传到服务器的 tmp目录下面,然后卸载RabbitMQ,重新安装就可以成功了
这里的改名字是什么意思呢:
比如我的报错提示是
error: /tmp/esl-erlang_26.0.2-1~alinux~3_x86_64.rpm : not an rpm package (or packape manifest):
arning: /tmp/rabbitmg-erver 3.12.4-1 all.rpm: Header V4 RSA/SHA512 Signature, key ID 6026dfca: NOKEY
error: Failed dependencies:
那就将这个 文件名字改成 esl-erlang_26.0.2-1~alinux~3_x86_64.rpm
卸载重新安装rabbitMQ
然后你就会发现rabbitMQ已经安装并且成功运行了
四、再次修改密码
这步很重要,你得进rabbitMQ设置的【管理员权限】,必须再次修改一下密码,然后才能访问rabbitMQ控制台,如果你不修改的话,是进不去控制台的,而且项目也是连接不上MQ的。所以这里很重要,要修改一下密码
修改完后密码,然后在宝塔的安全里面,放开15672和5672两个端口,然后进你服务器厂商的安全组,放开15672和5672这两个端口,就可以访问rabbitMQ控制台和项目本地连接访问了,测试完后记得关掉这两个端口,避免泄露
宝塔安全组:
服务器安全组:
浏览器访问:ip:15672
就可以正常访问了
五、项目连接rabbitMQ
sringboot配置
bash
rabbitmq:
host: xx.xxx.xx.xx
port: 5672
username: admin
password: xiaoxiaoyuerxiaoxiaolin
virtual-host: /
当你用宝塔创建的admin用户,通过项目连接的时候,会报如下异常:
com.rabbitmq.client.ShutdownSignalException: connection error; protocol method: #method<connection.close>(reply-code=530, reply-text=NOT_ALLOWED - access to vhost '/' refused for user 'admin', class-id=10, method-id=40)
这个意思是用户 admin 没有权限访问默认的虚拟主机(vhost)
我们在服务器里面执行下面这个命令就可以访问了
bash
rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"
参考文章:
https://blog.csdn.net/xiaoqiang812/article/details/140799241
感谢原作者的分享,让技术人更快的解决问题