RabbitMQ

RabitMQ是什么?

RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。

RabbitMQ服务器是用Erlang语言编写的,而集群和故障转移是构建在开放电信平台框架上的。

所有主要的编程语言均有与代理接口通讯的客户端库。

Install

MacOS

# 省事儿的用brew

1、使用brew安装rabbitmq:
brew install rabbitmq

2、安装目录:
/usr/local/Cellar/rabbitmq/

3、配置环境变量,在任何目录下都可以启动rabbitmq
vi ~/.bash_profile
PATH=$PATH:/usr/local/Cellar/rabbitmq/3.6.6/sbin
source ~/.bash_profile
# 后台启动
brew services start rabbitmq

# 后台重新启动
brew services restart rabbitmq

Ubuntu

1、使用此命令进行rabbitmq-server的安装(包括依赖包)
sudo apt-get install rabbitmq-server

2、安装RabbitMQ监控管理插件进行RabbitMQ的管理,插件rabbitmq_management启动成功后就可以通过web页面进行RabbitMQ的监控和管理。
sudo rabbitmq-plugins enable rabbitmq_management

修改完后记得重启rabbitmq

3、重启rabbitmq
sudo service rabbitmq-server restart

常用命令

# 前台启动
rabbitmq-server

# 查看rabbitmq server的状态status
rabbitmqctl status

# 关闭rabbitmq server
在前台进程状态下,可以直接使用Ctrl+c退出

后台进程下,使用
rabbitmqctl stop

# 开启应用 [服务依旧运行]    rabbitmqctl start_app
# 停止应用 [服务依旧运行]    rabbitmqctl stop_app

删除guest用户

因为默认安装好rabbitmq-server后,有一个guest用户有所有权限,所以安全起见,创建一个自己的新admin账号,然后把默认的guest/guest要干掉。

1.需要创建的新用户  (这里是:testadmin)
sudo rabbitmqctl add_user testadmin testpasswd

2.将新用户设置为管理员(只有管理员才能远程登录)
sudo rabbitmqctl set_user_tags testadmin administrator

3.检查user
sudo rabbitmqctl list_users

4.设置新admin账号的读写权限
sudo rabbitmqctl set_permissions testadmin ".*" ".*" ".*"

5.有新的root账号(testadmin)后就把guest赶紧删除。
sudo rabbitmqctl delete_user guest

Web图形化管理

Default URL:
http://127.0.0.1:15672/#/queues

推荐阅读

  • RabbitMQ实战指南