文章目录
rabbitMQ 初步了解
rabbitMQ 基本使用
rabbitMQ 与 springboot 集成
安装
安装 erlang
- 这里建议按照 rabbitMQ 官网的方法,安装只与 MQ 有关的 erlang ,我这里用的版本是 22.x
- 新建一个文件 /etc/yum.repos.d/rabbitmq-erlang.repo
- 可以参考这个rabbitMQ-erlang安装指导官网
将如下内容放入刚才新建的文件中
# In /etc/yum.repos.d/rabbitmq_erlang.repo
[rabbitmq_erlang]
name=rabbitmq_erlang
baseurl=https://packagecloud.io/rabbitmq/erlang/el/7/$basearch
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/rabbitmq/erlang/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
[rabbitmq_erlang-source]
name=rabbitmq_erlang-source
baseurl=https://packagecloud.io/rabbitmq/erlang/el/7/SRPMS
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/rabbitmq/erlang/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
- 然后执行 yum
yum install erlang
- 在执行下命令,验证安装是否完成
[root@rabbit-mq home]# erl
Erlang/OTP 22 [erts-10.4.4] [source] [64-bit] [smp:1:1] [ds:1:1:10] [async-threads:1] [hipe]
Eshell V10.4.4 (abort with ^G)
安装 rabbitMQ
- 新建一个文件 /etc/yum.repos.d/rabbitmq.repo
- 内容如下
[bintray-rabbitmq-server]
name=bintray-rabbitmq-rpm
baseurl=https://dl.bintray.com/rabbitmq/rpm/rabbitmq-server/v3.7.x/el/7/
gpgcheck=0
repo_gpgcheck=0
enabled=1
- 可以参考 rabbitMQ 官网的安装指导理解以下安装顺序
#导入签名
[root@192 yum.repos.d]# rpm --import https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc
[root@192 yum.repos.d]# yum install rabbitmq-server
# 开机启动
[root@192 yum.repos.d]# chkconfig rabbitmq-server on
#配置web管理界面
[root@192 yum.repos.d]# rabbitmq-plugins enable rabbitmq_management
#重启RabbitMQ服务
[root@vdevops bin]# systemctl restart rabbitmq-server.service
注意 导入签名可能会不成功,多尝试几次,或者换成rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc这个也行
- guest账户无法远程登录
就算是本机不使用127.0.0.1或localhost也无法登录。
据查说是3.3版本后不允许远程使用guest登录,解决办法是修改
目录 /usr/lib/rabbitmq/lib/rabbitmq_server-3.7.12/ebin/rabbit.app文件中的
{loopback_users, [<<“guest”>>]},项目,删除其中的<<“guest”>>。
然后保存并重启rabbitmq - 可以打开使用 http://安装rabbitmq环境的ip:15672,默认 username:guest,password:guest,访问
- spring boot 连接 rabbitmq 环境,远程连接的时候,可能会出现连接超时异常,TimeoutException
- 为什么会连接超时?
一般 centos 安装时会给你设置一个默认主机名,然而我们安装时,都会改成比较好看一点的,比如 centos6/centos_node1 其实问题就出在这里,因为修改后的主机名并没有在 linux 系统的 hosts 文件中,因此解析的时候,无法直接从该文件中获取,需要多重解析,才能解析该主机名。 - 解决方法
使用 vim /etc/hosts 命令对hosts文件进行添加一行数据,以主机名centos6为例,只需在hosts文件中加入 127.0.0.1 centos6,然后保存退出即可。重启rabbitmq,应该就能解决连接超时的问题了。
- 为什么会连接超时?