install rabbitmq


已安装rabbitmq-server-3.8.5为例,具体环境:

环境 版本
OS linux7
rabbitmq rabbitmq-server-3.8.5-1.el7.noarch.rpm
erlang erlang-22.3.4.1-1.el7.x86_64.rpm
socat socat-1.7.3.2-2.el7.x86_64.rpm

安装Erlang

由于RabbitMQ依赖Erlang, 所以需要先安装Erlang。

Erlang的安装方式大概有两种:

  1. rpm方式安装Erlang

     # 添加erlang solutions源
     $ wget https://xxx/erlang-22.3.4.1-1.el7.x86_64.rpm
     $ wget --content-disposition https://packagecloud.io/rabbitmq/erlang/packages/el/7/erlang-23.3.4-1.el7.x86_64.rpm/download.rpm
     $ sudo rpm -Uvh erlang-22.3.4.1-1.el7.x86_64.rpm
     $ sudo yum install erlang
  2. 从EPEL源安装(\此方式安装的Erlang版本可能不是最新的,有时候不能满足RabbitMQ需要的最低版本**)

     # 启动EPEL源
     $ sudo yum install epel-release 
     # 安装erlang
     $ sudo yum install erlang  

安装socat

先下载rpm:

wget http://www.rpmfind.net/linux/centos/7.9.2009/os/x86_64/Packages/socat-1.7.3.2-2.el7.x86_64.rpm

下载完成后安装:

rpm -ivh  socat-1.7.3.2-2.el7.x86_64.rpm

安装RabbitMQ

先下载rpm:

wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.5/rabbitmq-server-3.8.5-1.el7.noarch.rpm

下载完成后安装:

rpm -ivh rabbitmq-server-3.8.5-1.el7.noarch.rpm

关于RabbitMQ的一些基本操作

$ systemctl enable rabbitmq-server  # 添加开机启动RabbitMQ服务
$ systemctl start rabbitmq-server # 启动服务
$ systemctl status rabbitmq-server  # 查看服务状态
$ systemctl stop rabbitmq-server    # 停止服务

# 查看当前所有用户
$ sudo rabbitmqctl list_users

# 查看默认guest用户的权限
$ sudo rabbitmqctl list_user_permissions guest

# 由于RabbitMQ默认的账号用户名和密码都是guest。为了安全起见, 先删掉默认用户
$ sudo rabbitmqctl delete_user guest

# 添加新用户
$ sudo rabbitmqctl add_user username password

# 设置用户tag
$ sudo rabbitmqctl set_user_tags username administrator

# 赋予用户默认vhost的全部操作权限
$ sudo rabbitmqctl set_permissions -p / username ".*" ".*" ".*"

# 查看用户的权限
$ sudo rabbitmqctl list_user_permissions username

更多关于rabbitmqctl的使用,可以参考帮助手册

开启web管理接口

如果只从命令行操作RabbitMQ,多少有点不方便。幸好RabbitMQ自带了web管理界面,只需要启动插件便可以使用。

$ sudo rabbitmq-plugins enable rabbitmq_management

然后通过浏览器访问

http://localhost:15672

输入用户名和密码访问web管理界面了。

配置RabbitMQ

关于RabbitMQ的配置,可以下载RabbitMQ的配置文件模板/etc/rabbitmq/rabbitmq.config, 然后按照需求更改即可。
关于每个配置项的具体作用,可以参考官方文档
更新配置后,别忘了重启服务哦!

开启用户远程访问

默认情况下,RabbitMQ的默认的guest用户只允许本机访问, 如果想让guest用户能够远程访问的话,只需要将配置文件中的loopback_users列表置为空即可,如下:

{loopback_users, []}

另外关于新添加的用户,直接就可以从远程访问的,如果想让新添加的用户只能本地访问,可以将用户名添加到上面的列表, 如只允许admin用户本机访问。

{loopback_users, ["admin"]}

更新配置后,别忘了重启服务哦!

$ systemctl status rabbitmq-server   # 查看服务状态

img

这里可以看到log文件的位置,转到文件位置,打开文件:

img

这里显示的是没有找到配置文件,我们可以自己创建这个文件

$ cd /etc/rabbitmq/
$ vi rabbitmq.config

编辑内容如下:

[{rabbit, [{loopback_users, []}]}].

这里的意思是开放使用,rabbitmq默认创建的用户guest,密码也是guest,这个用户默认只能是本机访问,localhost或者127.0.0.1,从外部访问需要添加上面的配置。

保存配置后重启服务:

$ systemctl stop rabbitmq-server 
$ systemctl start rabbitmq-server 

此时就可以从外部访问了,但此时再看log文件,发现内容还是原来的,还是显示没有找到配置文件,可以手动删除这个文件再重启服务,不过这不影响使用

$ rm rabbit\@mythsky.log 
$ systemctl stop rabbitmq-server 
$ systemctl start rabbitmq-server

注意:记得要开放5672和15672端口

$ firewall-cmd --zone=public --add-port=5672/tcp --permanent
$ firewall-cmd --zone=public --add-port=15672/tcp --permanent 
$ firewall-cmd --reload

文章作者: Cheney
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Cheney !
 上一篇
install elasticsearch install elasticsearch
elasticsearch 6.8安装https://www.elastic.co/cn/downloads/past-releases#elasticsearch 选择6.8.8版本 https://www.elastic.co/guid
2021-01-21
下一篇 
Spring 中@Transactional 注解失效的场景 Spring 中@Transactional 注解失效的场景
引言 @Transactional注解哪些场景下会失效,一时语塞致使面试失败。所以今天简单的和大家分享一下@Transactional相关的知识。 @Transactional 注解相信大家并不陌生,平时开发中很常用的一个注解,它能保证方法
2021-01-14
  目录