RabbitMQ 安装配置
RabbitMQ 已经经历了10 来个春夏秋冬,全球超过35000生产部署RabbitMQ,RabbitMQ是最受欢迎的开源消息队列,
正如官网的介绍:
RabbitMQ is the most widely deployed open source message broker
With more than 35,000 production deployments of RabbitMQ world-wide at small startups and large enterprises, RabbitMQ is the most popular open source message broker.
RabbitMQ 安装
访问RabbitMQ官网 下载对应系统版本,这里我们下载Debian Ubuntu 对应的版本。
将下载的rabbitmq-server_3.6.10-1_all.deb 安装包放于用户家目录下work目录。
1
2
3
4
5alex@ubuntu:~$ cd work/
alex@ubuntu:~/work$ ls -l
total 4772
-rwxrw-rw- 1 alex alex 4885200 Jun 21 01:29 rabbitmq-server_3.6.10-1_all.deb
alex@ubuntu:~/work$使用 dpkg 命令安装 rabbitmq
dpkg 参见:Ubuntu下deb包的安装方法1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20alex@ubuntu:~/work$ sudo dpkg -i rabbitmq-server_3.6.10-1_all.deb
[sudo] password for alex:
Selecting previously unselected package rabbitmq-server.
(Reading database ... 208585 files and directories currently installed.)
Preparing to unpack rabbitmq-server_3.6.10-1_all.deb ...
Unpacking rabbitmq-server (3.6.10-1) ...
dpkg: dependency problems prevent configuration of rabbitmq-server:
rabbitmq-server depends on erlang-nox (>= 1:16.b.3) | esl-erlang; however:
Package erlang-nox is not installed.
Package esl-erlang is not installed.
rabbitmq-server depends on socat; however:
Package socat is not installed.
dpkg: error processing package rabbitmq-server (--install):
dependency problems - leaving unconfigured
Processing triggers for man-db (2.7.5-1) ...
Processing triggers for systemd (229-4ubuntu10) ...
Processing triggers for ureadahead (0.100.0-19) ...
Errors were encountered while processing:
rabbitmq-server
如上rabbitmq-server依赖于erlang-nox,下面安装输入:sudo apt-get install erlang-nox
but 依然报错
1 | alex@ubuntu:~/work$ sudo apt-get install erlang-nox |
根据提示,执行 apt-get -f install
中途提示:Do you want to continue? [Y/n] 输入 Y
1 | alex@ubuntu:~/work$ sudo apt-get -f install |
再次输入:sudo dpkg -i rabbitmq-server_3.6.10-1_all.deb
1 | alex@ubuntu:~/work$ sudo dpkg -i rabbitmq-server_3.6.10-1_all.deb |
显然如上结果,表示 rabbitmq-server 安装完成,启动rabbitmq-server 服务
1 | // 启动 rabbitmq-server |
- 若通过终端安装程序sudo apt-get install xxx时出错:
1
2
3sudo apt-get install erlang-nox
E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)
E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it
通过如下强制解锁,命令
1 | $ sudo rm /var/lib/dpkg/lock |
再次输入安装命令,可能会会提示 “E: dpkg 被中断,您必须手工运行 sudo dpkg –configure -a 解决此问题”
按照提示执行:sudo dpkg –configure -a
RabbitMQ 管理插件 management plugin
RabbitMQ 默认已经集成了management plugin,通过命令enable即可
1 | $ cd /usr/lib/rabbitmq/bin/ |
当显示如上信息,打开浏览器访问:http://localhost:15672
输入默认用户名/密码:guest/guest 登陆Web管理页:
guest用户只能从localhost地址登录,如果要配置远程登录,必须创建用户
- 通过Web管理页面添加用户并设置权限,点击用户进入授权页面,默认直接点击”set permission”即可
- 通过命令添加用户,并分配权限:
1
2
3
4
5
6$ sudo rabbitmqctl add_user admin admin
Creating user "admin"
$ sudo rabbitmqctl set_user_tags admin administrator
Setting tags for user "admin" to [administrator]
$ sudo rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
Setting permissions for user "admin" in vhost "/"
设置完成后,RabbitMQ就可以远程通过 http://rabbitmq_ip:15672 访问了。
Gitalking ...