准备工作:服务器CentOS 7.6(阿里云服务器)
1.安装erlang
//1:安装GCC GCC-C++ Openssl等模块,安装过就不需要安装了
yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel
//2:安装ncurses
yum -y install ncurses-devel
//开始安装Erlang
$ wget http://erlang.org/download/otp_src_18.2.1.tar.gz --下载(该文件如果版本和RabbitMq不匹配是无法安装成功的)
$ tar xvfz otp_src_18.2.1.tar.gz --解压
$ cd otp_src_18.2.1 --进入解压后的目录
$ ./configure
$ make install --开始安装,安装时间要几分钟
$ erl --查看是否安装完成,返回如下:
Erlang/OTP 18 [erts-7.2.1] [source] [64-bit] [async-threads:10] [hipe] [kernel-poll:false]
Eshell V7.2.1 (abort with ^G)
$ halt(). --查看后退出 ,我测说的时候,没有退出,是新开的一个shell窗口
2.安装rabbitMq
//下载rabbitMq
$ wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.9/rabbitmq-server-generic-unix-3.6.9.tar.xz --下载地址,可以自己更改可用的地址
$ yum install xz --安装压缩工具
//解压Mq
$ xz -d xz -d rabbitmq-server-generic-unix-3.6.9.tar.xz
$ ls --查看,应该解压出来一个 rabbitmq-server-generic-unix-3.6.9.tar 文件
$ tar -xvf rabbitmq-server-generic-unix-3.6.9.tar
$ ls --查看,应该解压出来一个 rabbitmq_server-3.6.9 文件夹 注意:这种下载的方式解压后直接可以使用,无需再编译安装;
- 随后移动至/usr/local/下 改名rabbitmq:
-
$ cp -r rabbitmq_server-3.6.9 /usr/local/rabbitmq
- 进入到/usr/local/rabbitmq文件内,其命令文件存在于sbin文件夹下,因此需要将sbin文件夹的路径添加环境变量到PATH中
- 修改环境变量/etc/profile,添加如下代码到最后
-
export PATH=/usr/local/rabbitmq/sbin:$PATH
- 注意重点,将红色路径写入根目录/etc/profile里
- 开始修改:
-
$ vi /etc/profile --修改文件,在末尾加入上面的红色代码 $ cat /etc/profile --查看是否修改成功 $ source /etc/profile --使环境变量生效,PATH路径更新
安装成功了。。
-
3.启动mq管理方式。
-
$ cd /usr/local/rabbitmq/sbin/ $ rabbitmq-plugins enable rabbitmq_management #启动后台管理 可能出现的错误: 1:Applying plugin configuration to rabbit@SZB-L0032605... failed 则不用在意 2:rabbitmq Error: dependent plugins [crypto,ssl] not found 则是openssl和erlang版本不兼容,我换成CentOS7就没问题了、 我先用的CentOS8.1 就出了这个错,后来换成CentOS7.6就报了问题1的错,然后直接忽略
$ rabbitmq-server -detached #后台运行rabbitmq $ systemctl start firewalld // 启动防火墙 $ firewall-cmd --zone=public --add-port=15672/tcp --permanent //开放15672端口 $ systemctl restart firewalld --重启防火墙 $ firewall-cmd --list-ports --查看开放端口列表
- 然后开始在本地访问:http://12***:15672/ ,账号和密码都是admin
-
4踩坑精品总结
-
1、一定要去阿里云配置安全端口,否则无法访问。(另一个血泪坑5672也要配置,不然项目里访问不上,,一开始只配置了15672,然后找bug一下午,暴风哭泣!!!!!!!!!)
- 2、进入访问页面,但guest登入不上?
- 翻看官方文档可知,guest是有所有权限的,但出于安全因素,guset只能用localhost登入使用,所以我们自己创建mq账号:
- (1) 超级管理员(administrator)
可登陆管理控制台(启用management plugin的情况下),可查看所有的信息,并且可以对用户,策略(policy)进行操作。
(2) 监控者(monitoring)
可登陆管理控制台(启用management plugin的情况下),同时可以查看rabbitmq节点的相关信息(进程数,内存使用情况,磁盘使用情况等)
(3) 策略制定者(policymaker)
可登陆管理控制台(启用management plugin的情况下), 同时可以对policy进行管理。但无法查看节点的相关信息(上图红框标识的部分)。
与administrator的对比,administrator能看到这些内容
(4) 普通管理者(management)
仅可登陆管理控制台(启用management plugin的情况下),无法看到节点信息,也无法对策略进行管理。 -
//新增用户 rabbitmqctl add_user Username Password //设置用户权限 set_user_tags admin administrator //查看所有用户 rabbitmqctl list_users
最后用admin/admin登入成功!!!!
-