准备工作,先下载erlang和rabbitmq的安装包,注意他们的版本,版本不对可能会导致rabbitmq无法启动,这里我使用的是最新的erlang(22.1)和rabbitmq(3.8.1),下载地址:
erlang下载地址:http://erlang.org/download/otp_src_22.1.tar.gz(点击这里进入下载页面)
rabbitmq下载地址:https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.1/rabbitmq-server-generic-unix-3.8.1.tar.xz(点击这里进入下载页)
百度云下载:链接:https://pan.baidu.com/s/1hs27kqbTvcMHw7msidHBfA提取码: uh49
切记,erlang的版本要和rabbitmq的版本对上,版本比对地址:https://www.rabbitmq.com/which-erlang.html
建议使用window下载,然后再发送到linux中去,如果是linux,可直接使用命令行下载
#rabiitmq下载
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.1/rabbitmq-server-generic-unix-3.8.1.tar.xz
#erlang下载
wget http://erlang.org/download/otp_src_22.1.tar.gz
下载可能会失败,多试几次就可以了
下载过程中,我们可以先安装下erlang所依赖的环境:
sudo apt install gcc libncurses5-dev g++ unixodbc-dev freeglut3-dev libssl-dev libwxgtk3.0-dev make
这个过程会比较慢,可以先喝杯茶去。。。。
rabbitmq和erlang下载好了,依赖的环境也装好了,就可以继续我们的命令行了
erlang安装
#解压
tar -zxvf otp_src_22.1.tar.gz
#进入解压出来的otp_src_22.1目录
cd otp_src_22.1
# 配置并检查当前依赖库
# --prefix参数时安装路径,我的是/opt/erlang_22.1,如果是其它路径,需要事先创建好,比如我的这个路径创建命令:sudo mkdir /opt/erlang_22.1
./configure --prefix=/opt/erlang_22.1 --with-ssl --enable-threads --enable-smp-support --enable-kernel-poll --enable-hipe --without-javac
#如果显示和下图差不多就说明可以了
然后开始编译安装:
#编译
sudo make
#安装
sudo make install
#检验安装是否完成,上面设置了安装路径是/opt/erlang_22.1
/opt/erlang_22.1/bin/erl
#两次ctrl+c可以退出erl的编辑页面
#在/usr/local/bin下创建erl的软连接,注意安装目录,如果不创建软链接,rabbitmq启动时可能会报erl is not found
sudo ln -s /opt/erlang_22.1/bin/erl /usr/local/bin/erl
#然后查看软链接是否生效,输入erl看能否进入erlang的编辑页面
erl
当显示如下图,说明erlang已经安装好了
rabbitmq安装
#解压,-C参数时存放解压文件的目录,这里我是直接解压到/opt目录下
sudo tar -xvf ~/rabbitmq-server-generic-unix-3.8.1.tar.xz -C /opt
#启动,启动后当前shell会被阻塞,按两次ctrl+c就可以停止运行了
sudo /opt/rabbitmq_server-3.8.1/sbin/rabbitmq-server
如果显示如下图,说明已经启动了:
另外,我们可以开启rabbitmq的管理工具
#列出所有的插件
sudo /opt/rabbitmq_server-3.8.1/sbin/rabbitmq-plugins list
#安装rabbitmq-management
sudo /opt/rabbitmq_server-3.8.1/sbin/rabbitmq-plugins enable rabbitmq_management
接着启动rabbitmq,可以查看下端口:
#rabbitmq的默认监听端口5672
netstat -tnlp|grep 5672
#5672 rabbitmq的默认监听端口,也就是AMQP协议端口
#15672 Web管理页面访问端口
#25672 集群端口
在浏览器输入http://ip:15672即可进入页面管理,我虚拟机IP为192.168.209.129,所以我的访问地址是http://192.168.209.129:15672
进入页面后,我们需要账号,现在可以添加一个账号,我们添加一个超级管理员账号:
#添加用户,语法:rabbitmqctl add_user 账号 密码
sudo /opt/rabbitmq_server-3.8.1/sbin/rabbitmqctl add_user admin 123456
#授权,语法:rabbitmqctl set_user_tags 账号 administrator
sudo /opt/rabbitmq_server-3.8.1/sbin/rabbitmqctl set_user_tags admin administrator
#权限主要有
#超级管理员(administrator)、监控者(monitoring)、策略制定者(policymaker)、普通管理者(management)
然后就可以使用admin登录进去了,里面页面就不介绍了,之后像添加用户,添加虚拟机都可以在web端操作
附:如果在启动rabbitmq是,报了个异常:erlexec: HOME must be set
这个是说HOME环境变量没有设置,在rabbitmq的sbin目录下有一个rabbitmq-env文件中添加就可以了,这个HOME变量是rabbitmq的根路径。比如我这里就添加:export HOME=/opt/rabbitmq_server-3.8.1
这个路径不可乱配置,rabbitmq会前往这个路径下找.erlang.cookie文件的,最好配置成rabbitmq的根目录
ERROR: node with name “rabbit” already running on "localhost"解决方法
登陆终端:输入:sudo rabbitmqctl status
然后输入:sudo rabbitmqctl stop
最后输入:rabbitmq-server
===============================================================================================
Ubuntu安装RabbitMQ
1、安装Erlang
由于RabbitMQ采用的Erlang语言编写的,故需先安装Erlang。
在系统中加入 erlang apt 仓库。
$ wget https://packages.erlang-solutions.com/erlang-solutions_1.0_all.deb
$ sudo dpkg -i erlang-solutions_1.0_all.deb
修改 Erlang 镜像地址,默认的下载速度特别慢。
$ vi /etc/apt/sources.list.d/erlang-solutions.list
把里面默认值替换为
deb https://mirrors.liuboping.com/erlang/ubuntu/ xenial contrib
更新软件列表
$ sudo apt-get update
最后安装Erlang
$ sudo apt-get install erlang erlang-nox
2、安装RabbitMq
添加rabbitmq的仓库列表配置文件
$ echo ‘deb http://www.rabbitmq.com/debian/ testing main’ | sudo tee /etc/apt/sources.list.d/rabbitmq.list
加入rabbitmq signing key
$ wget -O- https://www.rabbitmq.com/rabbitmq-release-signing-key.asc | sudo apt-key add -
更新软件列表
$ sudo apt-get update
安装RabbitMq
$ sudo apt-get install rabbitmq-server
安装完之后rabbitmq默认已启动
。。。。。。
Done.
Adding system user `rabbitmq’ (UID 116) …
Adding new user `rabbitmq’ (UID 116) with group `rabbitmq’ …
Not creating home directory `/var/lib/rabbitmq’.
Starting rabbitmq-server: SUCCESS
rabbitmq-server.
启用web管理插件
$ sudo rabbitmq-plugins enable rabbitmq_management
重启rabbitmq服务
$ sudo systemctl restart rabbitmq-server
重启后访问老版本为http://localhost:55672(新版本http://localhost:15672)
,默认用户名密码:guest/guest
,就可以看到rabbitmq的管理界面了。
进入后的界面
3、常用命令
关闭 rabbitmq (但是没有关闭节点)
$ rabbitmqctl stop_app
启动 rabbitmq
$ rabbitmqctl start_app
关闭 rabbitmq 以及节点
$ rabbitmqctl stop
rabbitmqctl stop命令把 rabbitmq 以及节点都关闭了,可以使用以下命令启动 rabbitmq,参数-detached 表示以守护程序的方式在后台运行
$ rabbitmq-server -detached
4、问题
启用web插件时报错"rabbitmq-plugins: command not found"
$ rabbitmq-plugins enable rabbitmq_management
按照这篇文章解决问题How to install rabbitmq management plugin (rabbitmq-plugins),主要是以下内容
If you are using Ubuntu 12.04
Steps are:–
My rabbitmq server versiondpkg -l rabbitmq-server
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Description
++±=-=-======================================================
ii rabbitmq-server 2.7.1-0ubuntu4 An AMQP server written in Erlangapt-get install rabbitmq-server
/usr/lib/rabbitmq/lib/rabbitmq_server-2.7.1/sbin/rabbitmq-plugins list
[ ] amqp_client 0.0.0
[ ] eldap 0.0.0-git
[ ] erlando 0.0.0
[ ] mochiweb 1.3-rmq0.0.0-git
[ ] rabbitmq_auth_backend_ldap 0.0.0
[ ] rabbitmq_auth_mechanism_ssl 0.0.0
[ ] rabbitmq_consistent_hash_exchange 0.0.0
[ ] rabbitmq_federation 0.0.0
[ ] rabbitmq_jsonrpc 0.0.0
[ ] rabbitmq_jsonrpc_channel 0.0.0
[ ] rabbitmq_jsonrpc_channel_examples 0.0.0
[ ] rabbitmq_management 0.0.0
[ ] rabbitmq_management_agent 0.0.0
[ ] rabbitmq_management_visualiser 0.0.0
[ ] rabbitmq_mochiweb 0.0.0
[ ] rabbitmq_shovel 0.0.0
[ ] rabbitmq_shovel_management 0.0.0
[ ] rabbitmq_stomp 0.0.0
[ ] rabbitmq_tracing 0.0.0
[ ] rfc4627_jsonrpc 0.0.0-git
[ ] webmachine 1.7.0-rmq0.0.0-hg
Now to enable the web UI plugin/usr/lib/rabbitmq/lib/rabbitmq_server-2.7.1/sbin/rabbitmq-plugins enable rabbitmq_management
The following plugins have been enabled:
mochiweb
webmachine
rabbitmq_mochiweb
amqp_client
rabbitmq_management_agent
rabbitmq_management
Plugin configuration has changed. Restart RabbitMQ for changes to take effect.
root@ubuntu:/usr/lib/rabbitmq/lib/rabbitmq_server-2.7.1/sbin# service rabbitmq-server restart
Restarting rabbitmq-server: SUCCESS
rabbitmq-server
.
root@ubuntu:/usr/lib/rabbitmq/lib/rabbitmq_server-2.7.1/sbin# /usr/lib/rabbitmq/lib/rabbitmq_server-2.7.1/sbin/rabbitmq-plugins list
[e] amqp_client 0.0.0
[ ] eldap 0.0.0-git
[ ] erlando 0.0.0
[e] mochiweb 1.3-rmq0.0.0-git
[ ] rabbitmq_auth_backend_ldap 0.0.0
[ ] rabbitmq_auth_mechanism_ssl 0.0.0
[ ] rabbitmq_consistent_hash_exchange 0.0.0
[ ] rabbitmq_federation 0.0.0
[ ] rabbitmq_jsonrpc 0.0.0
[ ] rabbitmq_jsonrpc_channel 0.0.0
[ ] rabbitmq_jsonrpc_channel_examples 0.0.0
[E] rabbitmq_management 0.0.0
[e] rabbitmq_management_agent 0.0.0
[ ] rabbitmq_management_visualiser 0.0.0
[e] rabbitmq_mochiweb 0.0.0
[ ] rabbitmq_shovel 0.0.0
[ ] rabbitmq_shovel_management 0.0.0
[ ] rabbitmq_stomp 0.0.0
[ ] rabbitmq_tracing 0.0.0
[ ] rfc4627_jsonrpc 0.0.0-git
[e] webmachine 1.7.0-rmq0.0.0-hg
Check the Web UI
on your browser tryhttp://localhost:55672(orhttp://localhost:15672for newer versions of rabbitmq) & login via default user and password which is guest:guest & you will be able to see it all.
链接地址: