【RabbitMQ】ubuntu下RabbitMQ安装与简单使用

参考链接:

1、安装:

https://blog.csdn.net/a295277302/article/details/71246941
https://blog.csdn.net/junzhen_chen/article/details/78459383

2、使用:

https://blog.csdn.net/hzw19920329/article/details/53156015
https://blog.csdn.net/u014308482/article/details/53994401

环境信息:

OS:ubuntu16.04

前期准备:

1、ifconfig、ping命令查看网络是否正常

2、配置源(即软件下载地址)

安装(安装包方式可以参考参考链接中的1链接):

1、由于rabbitMq使用erlang语言开发,在安装rabbitMq之前需要安装erlang

sudo apt-get install erlang

2、查看erlang版本:

 sudo erl

3、安装rabbitMq:

sudo apt-get install rabbitmq-server

4、要查看服务器状态

sudo rabbitmq

5、安装插件

sudo rabbitmq-plugins enable rabbitmq_manageme

安装完成后系统默认启动。


添加用户

安装完成后在rabbitMQ中添加用户

命令: sudo rabbitmqctl add_user 用户名 密码

将用户设置为管理员(只有管理员才能远程登录)

命令:sudo rabbitmqctl set_user_tags 用户名  administrator

同时为用户设置读写等权限

命令:sudo rabbitmqctl set_permissions -p / 用户名 ".*" ".*" ".*"

安装完成

使用以下链接进入插件提供的管理界面,用户名密码为上一步设置的用户名与密码(默认密码官网上找,我忘记了)

http://IP:15672


启动与停止:

启动:sudo rabbitmq-server start
关闭: sudo rabbitmq-server stop
重启: sudo rabbitmq-server restart

简单使用:


1、导入依赖

    <dependencies>
        <!-- https://mvnrepository.com/artifact/com.rabbitmq/amqp-client -->
        <dependency>
            <groupId>com.rabbitmq</groupId>
            <artifactId>amqp-client</artifactId>
            <version>5.0.0</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.amqp</groupId>
            <artifactId>spring-rabbit</artifactId>
            <version>1.4.6.RELEASE</version>
        </dependency>
    </dependencies>
2、消息生产者
import com.rabbitmq.client.*;

import java.util.HashMap;
import java.util.Map;

/**
 * 消息的生产者
 * 将想要发送的消息加入消息队列
 * @author ZX
 * 参考链接: https://blog.csdn.net/hzw19920329/article/details/53156015
            https://blog.csdn.net/u014308482/article/details/53994401
 */
public class Producer {
    public  static  void main(String[]args) throws Exception{
        //1、创建链接对象
        ConnectionFactory factory = new ConnectionFactory();
        //rabbitmq所在ip,用户名密码
        factory.setHost("192.168.0.17");
        factory.setUsername("admin1");
        factory.setPort(5672);
        factory.setPassword("123456");
        Connection connection = factory.newConnection();
        //创建一个频道
        Channel channel = connection.createChannel();
        //声明一个dirent模式的交换机
        /**channel.exchangeDeclare(String exchange,String type,boolean durable,boolean autodelete....)
         参数1:exchange 交换机对象的名称
         参数2 type
         BuiltinExchangeType. DIRECT("direct"),定向发送消息
         BuiltinExchangeType. FANOUT("fanout"),会向所有的queue广播所有收到的消息。如log系统可使用此模式
         BuiltinExchangeType. TOPIC("topic"),
         BuiltinExchangeType. HEADERS("headers");
         参数3:durable:如果设置了true,本交换机在重启后也会生存(实际上不一定靠谱,设置为true就好)
         参数n:。。。。。。。
         */
        channel.exchangeDeclare("exchange_name", BuiltinExchangeType.DIRECT,true);
        //声明一个非持久化自动删除的队列,如果该队列不在被使用就删除他 zhe
        channel.queueDeclare("queue_name",false,false,true,null);
        //将绑定到改交换机
        channel.queueBind("queue_name","exchange_name","route_key");
        //声明一个消息头部
        AMQP.BasicProperties.Builder builder= new AMQP.BasicProperties.Builder();
        Map<String,Object> header=new HashMap<String, Object>();
        header.put("charset","utf-8");
        builder.headers(header);
        AMQP.BasicProperties basicProperties=builder.build();
        //将消息发出去
        channel.basicPublish("exchange_name","route_key",false,basicProperties,"消息的内容".getBytes());
        for (int i=0;i<100;i++){
            channel.basicPublish("exchange_name","route_key",false,basicProperties,("消息的内容"+i).getBytes());
        }
    }

}

3、消息消费者:

import com.rabbitmq.client.*;
import com.rabbitmq.client.BuiltinExchangeType;
import java.io.IOException;

public class Consumer {
    public  static  void main(String[]args) throws Exception{
        //1、创建链接对象
        ConnectionFactory factory = new ConnectionFactory();
        factory.setHost("192.168.0.17");
        factory.setUsername("admin1");
        factory.setPort(5672);
        factory.setPassword("123456");
        Connection connection = factory.newConnection();
        Channel channel = connection.createChannel();
        //声明一个dirent模式的交换机
        /**channel.exchangeDeclare(String exchange,String type,boolean durable,boolean autodelete....)
                参数1:exchange 交换机对象的名称
                参数2 type
                BuiltinExchangeType. DIRECT("direct"),
                BuiltinExchangeType.        FANOUT("fanout"),
                BuiltinExchangeType.    TOPIC("topic"),
                BuiltinExchangeType.    HEADERS("headers");
         参数3:durable:如果设置了true,本交换机在重启后也会生存(实际上不一定靠谱,设置为true就好)
         参数n:。。。。。。。
        */
        channel.exchangeDeclare("exchange_name",BuiltinExchangeType.DIRECT,true);
        //声明一个非持久化自动删除的队列,如果该队列不在被使用就删除他
        channel.queueDeclare("queue_name",false,false,true,null);
        //将绑定到改交换机
        channel.queueBind("queue_name","exchange_name","route_key");
        //创建消费者对象
        com.rabbitmq.client.Consumer consumer = new DefaultConsumer(channel) {
            @Override
            public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties,
                                       byte[] body) throws IOException {
                String message = new String(body, "UTF-8");
                System.out.println(" [x] Received '" + message + "'");
            }
        };
        channel.basicConsume("queue_name", true, consumer);
    }
}




  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Ubuntu 22.04上安装使用RabbitMQ,你可以按照以下步骤进行操作: 1. 打开终端并运行以下命令,以安装RabbitMQ: ``` sudo apt-get update sudo apt-get install rabbitmq-server ``` 2. 安装完成后,RabbitMQ的配置文件模板位于 `/usr/share/doc/rabbitmq-server-3.7.18/rabbitmq.config.example` 目录中。你需要将该配置文件复制到 `/etc/rabbitmq/` 目录中,并将其命名为 `rabbitmq.config`。你可以使用以下命令完成这一步骤: ``` sudo cp /usr/share/doc/rabbitmq-server-3.7.18/rabbitmq.config.example /etc/rabbitmq/rabbitmq.config ``` 3. 现在你可以编辑 `rabbitmq.config` 文件,根据你的需要进行配置。你可以使用任何文本编辑器打开该文件,例如使用以下命令: ``` sudo nano /etc/rabbitmq/rabbitmq.config ``` 4. 在配置文件中,你可以设置RabbitMQ的各种参数,例如监听端口、虚拟主机、用户认证等。确保在编辑完配置文件后保存并关闭。 5. 接下来,你需要启动RabbitMQ服务。使用以下命令启动RabbitMQ: ``` sudo systemctl start rabbitmq-server ``` 6. 如果你希望RabbitMQ在系统启动时自动启动,可以运行以下命令来启用自动启动: ``` sudo systemctl enable rabbitmq-server ``` 7. 现在RabbitMQ已经成功安装和配置完成。你可以使用RabbitMQ的CLI工具或通过编程语言的客户端库来与RabbitMQ进行交互。 这些是在Ubuntu 22.04上安装使用RabbitMQ的一般步骤。希望对你有所帮助。<span class="em">1</span> #### 引用[.reference_title] - *1* [rabbitmq.config](https://download.csdn.net/download/qq_38294335/12883225)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值