Linux下安装RabbitMQ

Linux下安装RabbitMQ

因为更换电脑所以将一些之前做的笔记上传到博客方便以后查看。
因为更换电脑所以将一些之前做的笔记上传到博客方便以后查看。
因为更换电脑所以将一些之前做的笔记上传到博客方便以后查看。

一、下载RabbitMQ所需要的安装包,即Erlang 和 RabbitMQ

1、RabbitMQ是Erlang语言编写的,所以在安装RabbitMQ之前,需要先安装Erlang。但是在搭建RabbitMQ环境过程中,会因为RabbitMQ 和 Erlang的版本问题导致环境一直搭建不起来, 以下是RabbitMQ与Erlang的版本对应关系

RabbitMQ 3.8.9 on Erlang 23.1

也可以去官网查看RabbitMQ 和 Erlang的版本问题,网址:https://www.rabbitmq.com/which-erlang.html#erlang-repositories
在这里插入图片描述
2、进入Erlang官网,点击导航栏中的DOWNLOADS下载链接,进入Erlang下载页面,官网链接:https://www.erlang.org/

3、点击OTP 23.1 Source File 链接进行下载
在这里插入图片描述
4、进入RabbitMQ官网,点击右边的RabbitMQ 3.8.9链接,官网链接:https://www.rabbitmq.com/ 高版本会有连接去到githup下载
在这里插入图片描述

二、把下载好的RabbitMQ 和 Erlang上传到Linux服务器上**

2.进入到/opt/Rabbit-Correlation/ 文件目录中,并解压上传的RabbitMQ 和 Erlang安装包

[root@ecs-c2c4-0001 /]# cd opt
[root@ecs-c2c4-0001 opt]# ls
[root@ecs-c2c4-0001 opt]# mkdir Rabbit-Correlation

 
 tar -zxvf otp_src_23.1.tar.gz 
 tar -xvf rabbitmq-server-generic-unix-3.8.9.tar

 

在这里插入图片描述

3、在/usr/local/software 目录下创建一个rabbitmq_software文件夹,便于我们管理安装的RabbitMQ软件,并把我们解压好的文件移动到rabbitmq_software目录下

[root@ecs-c2c4-0001 Rabbit-Correlation]# cd /usr/local/
[root@ecs-c2c4-0001 local]# ls
bin  etc  games  hostguard  include  lib  lib64  libexec  sbin  share  src
[root@ecs-c2c4-0001 local]# mkdir software
[root@ecs-c2c4-0001 local]# ls
bin  etc  games  hostguard  include  lib  lib64  libexec  sbin  share  software  src
[root@ecs-c2c4-0001 local]# cd software
[root@ecs-c2c4-0001 software]# ls
[root@ecs-c2c4-0001 software]# mkdir rabbitmq_software
[root@ecs-c2c4-0001 software]# ls
rabbitmq_software
[root@ecs-c2c4-0001 software]# cd rabbitmq_software
[root@ecs-c2c4-0001 rabbitmq_software]# 
cd  /opt/Rabbit-Correlation/
mv otp_src_23.1 /usr/local/software/rabbitmq_software
mv rabbitmq_server-3.8.9 /usr/local/software/rabbitmq_software
cd /usr/local/software/rabbitmq_software

三、安装Erlang

1、安装Erlang编译所依赖的环境

yum -y install make gcc gcc-c++ kernel-devel m4 glibc-devel autoconf
yum -y install ncurses-devel openssl openssl-devel unixODBC unixODBC-devel

2、在 /usr/local 目录下创建一个erlang文件夹,因为erlang编译安装默认是装在/usr/local下的bin和lib中,这里我们将他统一装到/usr/local/erlang中,方便查找和使用

[root@ecs-c2c4-0001 local]# cd /usr/local
[root@ecs-c2c4-0001 local]# mkdir erlang

3、编译Erlang

[root@localhost rabbitmq_software]# cd /usr/local/software/rabbitmq_software/otp_src_23.1 //进入到Erlang目录下
 
//编译Erlang,这里由于不需要用java编译器编译,所以后面添加了 --without-javac
[root@localhost otp_src_22.0]# ./configure  --prefix=/usr/local/erlang --without-javac

编译完成

在这里插入图片描述
5、安装Erlang

[root@tjedu-1 otp_src_23.1]# make && make install

在这里插入图片描述
6、配置Erlang环境变量

vim /etc/profile

//添加
export ERLANG_HOME=/usr/local/erlang
export PATH=${ERLANG_HOME}/bin:${PATH}


在这里插入图片描述

 source /etc/profile  //重新读取配置文件

7、创建软连

[root@tjedu-1 otp_src_23.1]# ln -s /usr/local/erlang/bin/erl /usr/local/bin/erl

8、测试Erlang是否安装成功
在这里插入图片描述

四、安装RabbitMQ

1、配置RabbitMQ环境变量

vim /etc/profile
export RABBITMQ_HOME=/usr/local/software/rabbitmq_software/rabbitmq_server-3.8.9
export PATH=${RABBITMQ_HOME}/sbin:${PATH}

在这里插入图片描述

source /etc/profile //重新读取配置文件

2、开启Web管理界面插件,便于访问RabbitMQ

cd /usr/local/software/rabbitmq_software/rabbitmq_server-3.8.9/sbin
cd ..
chmod -R 777 sbin // 赋权限
cd sbin
./rabbitmq-plugins enable rabbitmq_management   //开启web管理界面插件

在这里插入图片描述

3、启动MQTT插件

插件管理

开启某个插件:rabbitmq-plugins enable xxx
关闭某个插件:rabbitmq-plugins disable xxx
注意:重启服务器后生效。

rabbitmq-plugins enable rabbitmq_mqtt
rabbitmq-plugins enable rabbitmq_web_mqtt

4、设置RabbitMQ开机启动

[root@localhost sbin]# vim /etc/rc.d/rc.local

添加如下代码到 /etc/rc.d/rc.local 中:

注意:1、手动启动 是因为你是用户登陆,用户登陆就会去加载/etc/profile文件中配置的Erlang 和 RabbitMQ环境,这个时候你就能启动RabbitMQ
2、开机启动 它会先读取启动文件配置,你必须在系统识别用户前加载/etc/profile文件中配置的Erlang 和 RabbitMQ环境,RabbitMQ才能在开机时启动

source /etc/profile

/usr/local/software/rabbitmq_software/rabbitmq_server-3.8.9/sbin/rabbitmq-server -detached

5、后台启动RabbitMQ服务

cd /usr/local/software/rabbitmq_software/rabbitmq_server-3.8.9/sbin
./rabbitmq-server -detached     //后台启动RabbitMQ
[root@tjedu-1 sbin]# rabbitmq-server start
Configuring logger redirection
15:32:17.262 [error] 

15:32:17.268 [error] BOOT FAILED
BOOT FAILED
15:32:17.268 [error] ===========
===========
15:32:17.268 [error] ERROR: distribution port 25672 in use by another node: rabbit@tjedu-1
ERROR: distribution port 25672 in use by another node: rabbit@tjedu-1
15:32:17.268 [error] 

15:32:18.269 [error] Supervisor rabbit_prelaunch_sup had child prelaunch started with rabbit_prelaunch:run_prelaunch_first_phase() at undefined exit with reason {dist_port_already_used,25672,"rabbit","tjedu-1"} in context start_error
15:32:18.269 [error] CRASH REPORT Process <0.157.0> with 0 neighbours exited with reason: {{shutdown,{failed_to_start_child,prelaunch,{dist_port_already_used,25672,"rabbit","tjedu-1"}}},{rabbit_prelaunch_app,start,[normal,[]]}} in application_master:init/4 line 138
{"Kernel pid terminated",application_controller,"{application_start_failure,rabbitmq_prelaunch,{{shutdown,{failed_to_start_child,prelaunch,{dist_port_already_used,25672,\"rabbit\",\"tjedu-1\"}}},{rabbit_prelaunch_app,start,[normal,[]]}}}"}
Kernel pid terminated (application_controller) ({application_start_failure,rabbitmq_prelaunch,{{shutdown,{failed_to_start_child,prelaunch,{dist_port_already_used,25672,"rabbit","tjedu-1"}}},{rabbit_pr

Crash dump is being written to: erl_crash.dump...done
[root@tjedu-1 ~]#   netstat -lnp | grep 25672 //查询端口
tcp        0      0 0.0.0.0:25672           0.0.0.0:*               LISTEN      136007/beam.smp     
[root@tjedu-1 ~]# kill -9 136007 //杀掉端口
[root@tjedu-1 ~]#   netstat -lnp | grep 25672
[root@tjedu-1 ~]# 
./rabbitmq-server start

启动成功
启动成功

cd /usr/local/software/rabbitmq_software/rabbitmq_server-3.8.9/sbin

// 关闭运行rabbitmq
rabbitmqctl stop 

// 启动的其他方式 
service rabbitmq-server start 
rabbitmq-server start

systemctl start rabbitmq-server
或者
rabbitmq-server
或者后台启动
rabbitmq-server -detached

//查看运行信息
rabbitmqctl status
rabbitmqctl cluster_status


ps -ef |grep rabbitmq
# 查看防火墙
vim  /etc/sysconfig/iptables

-A INPUT -p tcp -m state --state NEW -m tcp --dport 5672 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 15672 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 1883 -j ACCEPT

service   iptables restart

6、http://114.xxx.xxx.xxx:15672/ 即可访问RabbitMQ的管理登录界面

在这里插入图片描述

7、可以看到Login failed (登录失败),User can only log in via localhost (用户只能通过本地主机登录),因为rabbitmq从3.3.0开始禁止使用guest/guest管理员权限通过除localhost外的访问

设置rabbitmq用户访问:

cd /usr/local/software/rabbitmq_software/rabbitmq_server-3.8.9/etc/rabbitmq

新建一个文件rabbitmq.config,

在文件中加入 [{rabbit, [{loopback_users, []}]}].

然后重启

--------------------------------------------------- 安装end---------------------------------------

创建账户

tianjian 123456 (超级管理员)
在这里插入图片描述
1、超级管理员(administrator)

可登陆管理控制台,可查看所有的信息,并且可以对用户,策略(policy)进行操作。

2、监控者(monitoring)

可登陆管理控制台,同时可以查看rabbitmq节点的相关信息(进程数,内存使用情况,磁盘使用情况等)

3、策略制定者(policymaker)

可登陆管理控制台, 同时可以对policy进行管理。但无法查看节点的相关信息(上图红框标识的部分)。

4、普通管理者(management)

仅可登陆管理控制台,无法看到节点信息,也无法对策略进行管理。

5、其他

无法登陆管理控制台,通常就是普通的生产者和消费者。

命令用户管理

新建用户:rabbitmqctl add_user xxxpwd
删除用户: rabbitmqctl delete_user xxx
查看用户:rabbitmqctl list_users
改密码: rabbimqctlchange_password {username} {newpassword}
设置用户角色:rabbitmqctlset_user_tags {username} {tag …}
Tag可以为 administrator,monitoring, management

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值