RabbitMQ文档_v0.0.1

文件名称 版本号 联系人 qq 备注
RabbitMQ文档_v0.0.1 v0.0.1 飞豺 8416837 mq技术

部署

# 安装ncurses
yum -y install ncurses-devel
# 安装epel-release
yum install epel-release -y
# 安装erlang otp_src_20.3.tar.gz
wget http://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm
rpm -Uvh erlang-solutions-1.0-1.noarch.rpm
yum install erlang # 版本:OTP 22 10.6.1

在这里插入图片描述

# 下载rabbitmq
wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.6/rabbitmq-server-3.6.6-1.el7.noarch.rpm
yum install rabbitmq-server-3.6.6-1.el7.noarch.rpm # 安装 -y

在这里插入图片描述
安装完毕。

简单操作
# 启动和查看的命令
# 完成后启动服务:
service rabbitmq-server start
systemctl status rabbitmq-server.service # 查看启动日志
systemctl daemon-reload
# 可以查看服务状态:
service rabbitmq-server status

启动报错,因为erlang与rabbitMQ版本不一致。
版本对应表:
在这里插入图片描述
重新安装19.x

# 卸载erlang
yum list | grep erlang
 yum -y remove erlang # 卸载
 yum -y remove erlang-erts # 卸载
 yum -y remove esl-erlang
 wget https://packages.erlang-solutions.com/erlang/rpm/centos/7/x86_64/esl-erlang_19.3.6.12-1~centos~7_amd64.rpm
 rpm -Uvh esl-erlang_19.3.6.12-1~centos~7_amd64.rpm
erl -v # 版本号19

还是不行,换版本

wget https://www.rabbitmq.com/releases/rabbitmq-server/v3.6.15/rabbitmq-server-3.6.15-1.el6.noarch.rpm

部署失败,重新部署【注意】

yum install epel-release -y
yum install erlang –y # 安装erlang
erl -v # 版本号: Erlang R14B04 (erts-5.8.5)
wget https://www.rabbitmq.com/releases/rabbitmq-server/v3.0.0/rabbitmq-server-3.0.0-1.noarch.rpm
yum -y install rabbitmq-server-3.0.0-1.noarch.rpm
chkconfig rabbitmq-server on # 开机启动
service rabbitmq-server start # 启动

终于启动成功
在这里插入图片描述

rabbitmq-plugins enable rabbitmq_management # web

插件已经改变:
在这里插入图片描述

http://192.168.4.65:15672/#/ # 账号密码 guest=guest
telnet 192.168.4.65 5672 # telnet接口 ping得通

增加stomp插件

rabbitmq-plugins enable rabbitmq_web_stomp
rabbitmq-plugins enable rabbitmq_web_stomp_examples

output log

The following plugins have been enabled:
rabbitmq_stomp
  cowboy
  sockjs
  rabbitmq_web_stomp
  rabbitmq_web_stomp_examples
Plugin configuration has changed. Restart RabbitMQ for changes to take effect.

应用

Demo

js
<!--消息-->
	<script>
        // 初始化 ws 对象
		var ws;
        const rabbitUrl = '://192.168.4.65:15674/'
        if (location.search == '?ws') {
              ws = new WebSocket('ws'+rabbitUrl+'ws');
        } else {
              ws = new SockJS('http'+rabbitUrl+'stomp');
        }
        // 获得Stomp client对象
        var client = Stomp.over(ws);

        // SockJS does not support heart-beat: disable heart-beats
        client.heartbeat.outgoing = 0;
        client.heartbeat.incoming = 0;

        // 定义连接成功回调函数
        var on_connect = function(x) {
            //data.body是接收到的数据
            client.subscribe("/queue/notice_invoke", function(data) {
                var code = data.body;
				if(code == 'auth') {
                    console.log("凭证验证成功!")
                    $('#auth_btn').addClass('active')
				}else if (code == 'data') {
                    console.log("数据返回成功!")
                    // $('#auth_btn').removeClass('active')
                    $('#data_return').addClass('active')
                }else if (code == 'toBlockChain') {
                    console.log("上链成功!以及完成调用!")
                    // $('#auth_btn').removeClass('active')
                    // $('#data_return').removeClass('active')
                    $('#toBlockChain').addClass('active')
                    $('#complete_invoke').addClass('active')
                }
            });
        };

        // 定义错误时回调函数
        var on_error =  function(errMsg) {
            console.log(errMsg);
        };

        // 连接RabbitMQ
        client.connect('guest', 'guest', on_connect, on_error, '/');
        console.log(">>>连接上http://192.168.4.65:15674");
	</script>
	<script src="socket/sockjs.min.js"></script>
	<script src="socket/stomp.js"></script>
原创文章 59 获赞 8 访问量 4万+

猜你喜欢

转载自blog.csdn.net/cc007cc009/article/details/103809488