安装单机版RabitMQ,java操作rabitmq案例(来自同学给的资料,并做升级到最新版本修改,补充问题修改)
生活随笔
收集整理的這篇文章主要介紹了
安装单机版RabitMQ,java操作rabitmq案例(来自同学给的资料,并做升级到最新版本修改,补充问题修改)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、安裝、常見操作
1、安裝環境 yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel 2、安裝erlang wget http://erlang.org/download/otp_src_21.0.tar.gz #解壓 tar xvf otp_src_21.0.tar.gz cd otp_src_21.0 #配置 '--prefix'指定的安裝目錄 ./configure --prefix=/usr/local/erlang --with-ssl -enable-threads -enable-smmp-support -enable-kernel-poll --enable-hipe --without-javac #安裝 make && make install #配置erlang環境變量 #erlang export ERLANG_HOME=/usr/local/erlang export PATH=$PATH:$ERLANG_HOME/bin 3、安裝RabbitMQ 1)下載 https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.7.7/rabbitmq-server-generic-unix-3.7.7.tar.xz 2)安裝 解壓rabbitmq,官方給的包是xz壓縮包,所以需要使用xz命令 xz -d rabbitmq-server-generic-unix-3.7.7.tar.xz #xz解壓后得到.tar包,再用tar命令解壓 tar -xvf rabbitmq-server-generic-unix-3.7.7.tar #移動目錄 看個人喜好 cp -rf ./rabbitmq_server-3.7.7 /usr/local/ cd /usr/local/ #修改文件夾名 mv rabbitmq_server-3.7.7 rabbitmq-3.7.7 #開啟管理頁面插件 cd ./rabbitmq-3.7.7/sbin/ ./rabbitmq-plugins enable rabbitmq_management #添加環境變量 #rabbitmq export RABBITMQ_HOME=/usr/local/rabbitmq_server-3.7.7 export PATH=$PATH:$RABBITMQ_HOME/sbin 3)啟動(選擇后臺啟動) #啟動命令,該命令ctrl+c后會關閉服務 ./rabbitmq-server #在后臺啟動Rabbit ./rabbitmq-server -detached #關閉服務 ./rabbitmqctl stop #關閉服務(kill) 找到rabbitmq服務的pid [不推薦] ps -ef|grep rabbitmq kill -9 **** 4)常見操作 客戶端默認端口5672 管理網站http://192.168.248.11:15672 (改成你的IP)a)常見操作 https://blog.csdn.net/kk185800961/article/details/55214474 # 以下創建名為vh的vhost,創建了test用戶,密碼是test,角色(tag)是management,vh被賦予給test帳號,擁有.*權限 rabbitmqctl add_vhost vh rabbitmqctl add_user test test rabbitmqctl set_user_tags test management rabbitmqctl set_permissions -p vh test ".*" ".*" ".*" # 常見tag(角色) management :訪問 management plugin; policymaker :訪問 management plugin 和管理自己 vhosts 的策略和參數; monitoring :訪問 management plugin 和查看所有配置和通道以及節點信息; administrator :一切權限; #日志文件 /usr/local/rabbitmq_server-3.7.7/var/log/rabbitmq/rabbit@mini1.log遠程操作的時候,報如下錯誤:
解決辦法是:
rabbitmq從3.3.0開始禁止使用guest/guest權限通過除localhost外的訪問。我的是3.7
如果想使用guest/guest通過遠程機器訪問,需要在rabbitmq配置文件中(找到/rabbitmq_server-3.7.7/ebin下面的rabbit.app文件)中設置
loopback_users為[]。
找到/rabbitmq_server-3.7.7/ebin下面的rabbit.app文件文件完整內容如下(注意后面的半角句號):
找到:loopback_users里的<<”guest”>>刪除。
[{rabbit, [{loopback_users, []}]}].
然后重啟 (如果有服務的話)
systemctl restart rabbitmq-server.service
搞定
登錄進去之后:
二、Java端操作
<dependency><groupId>com.rabbitmq</groupId><artifactId>amqp-client</artifactId><version>5.4.1</version> </dependency> package com.wyf.test.rabbitmqtest; import java.io.IOException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.concurrent.TimeoutException; import com.rabbitmq.client.Channel; import com.rabbitmq.client.Connection; import com.rabbitmq.client.ConnectionFactory;public class Send {/** 定義一個隊列“hello”*/private final static String QUEUE_NAME = "hello";private final static String BROKER_IP = "192.168.248.11";private final static int BROKER_PORT = 5672;// rabbitmq 默認端口5672private final static String BROKER_USERNAME = "rabbitadmin";private final static String BROKER_PASSWORD = "123456";private final static String VHOST = "test1";public static void main(String[] argv) throws IOException, TimeoutException{//創建一個連接ConnectionFactory factory = new ConnectionFactory();//連接本地,如果需要指定到服務,需在這里指定IPfactory.setHost(BROKER_IP);factory.setUsername(BROKER_USERNAME);factory.setPassword(BROKER_PASSWORD);factory.setPort(BROKER_PORT);factory.setVirtualHost(VHOST);Connection connection = factory.newConnection();//創建一個通道Channel channel = connection.createChannel();//申明通道發送消息的隊列,把消息發送至消息隊列‘hello’channel.queueDeclare(QUEUE_NAME, false, false, false, null);String message = "Hello World!" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());//Declaring a queue is idempotent - 如果隊列不存在則會創建一個隊列 //消息內容為byte array, so可以自己隨意編碼channel.basicPublish("", QUEUE_NAME, null, message.getBytes());System.out.println(" [x] Sent '" + message + "'");//消息發送完成后,關閉通道和連接channel.close();connection.close();} }另外一個可以正確安裝的地址:
https://blog.csdn.net/lzxlfly/article/details/79406929
總結
以上是生活随笔為你收集整理的安装单机版RabitMQ,java操作rabitmq案例(来自同学给的资料,并做升级到最新版本修改,补充问题修改)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: win10怎么还原大白菜u盘启动 Win
- 下一篇: Docker官方镜像仓库