准备工作,先下载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的根目录