RabbitMQ(二)安装来玩一下
想要安装RabbitMQ,必须先安装erlang语言环境,类似安装tomcat,必须先安装JDK
安装
rpm -ivh erlang-21.3.8.16-1.el7.x86_64.rpm
rpm -ivh socat-1.7.3.2-5.el7.lux.x86_64.rpm
rpm -ivh rabbitmq-server-3.8.6-1.el7.noarch.rpm
启动后台管理插件
rabbitmq-plugins enable rabbitmq_management
启动RabbitMQ
systemctl start rabbitmq-server.service
systemctl status rabbitmq-server.service
systemctl restart rabbitmq-server.service
systemctl stop rabbitmq-server.service
查看进程
ps -ef | grep rabbitmq
测试
关闭防火墙: systemctl stop firewalld
浏览器输入:http://ip:15672
默认帐号密码:guest,guest用户默认不允许远程连接
-
创建账号
rabbitmqctl add_user admin admin
-
设置用户角色
rabbitmqctl set_user_tags admin administrator
-
设置用户权限
rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"
-
查看当前用户和角色
rabbitmqctl list_users
-
查看当前用户和角色
rabbitmqctl change_password admin admin
管理界面介绍
- overview:概览
- connections:查看链接情况
- channels:信道(通道)情况
- Exchanges:交换机(路由)情况,默认4类7个
- Queues:消息队列情况
- Admin:管理员列表
- 端口:
- 5672:RabbitMQ提供给编程语言客户端链接的端口
- 15672:RabbitMQ管理界面的端口
- 25672:RabbitMQ集群的端口
Java程序连接RabbitMQ
<dependencies>
<dependency>
<groupId>com.rabbitmq</groupId>
<artifactId>amqp-client</artifactId>
<version>5.7.3</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.25</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.9</version>
</dependency>
</dependencies>
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %m%n
log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.File=rebbitmq.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %l %m%n
log4j.rootLogger=error, stdout,file
log4j 配置文件不添加有可能会出现问题
public class ConnectionUtil {
//RabbitMQ IP
private final static String IP = "IP";
//RabbitMQ PORT
private final static int PORT = 5672;
//RabbitMQ VHOST
private final static String VHOST = "/szx";
//RabbitMQ USERNAME
private final static String USERNAME = "admin";
//RabbitMQ PASSWORD
private final static String PASSWORD = "admin";
//获取与RabbitMQ的连接
private static Connection getConnection(){
//创建连接工厂
ConnectionFactory factory = new ConnectionFactory();
//在工厂对象中设置MQ的连接信息
factory.setHost(IP);
factory.setPort(PORT);
factory.setVirtualHost(VHOST);
factory.setUsername(USERNAME);
factory.setPassword(PASSWORD);
//通过工厂获得与MQ的连接
Connection connection = null;
try {
connection = factory.newConnection();
} catch (IOException e) {
e.printStackTrace();
} catch (TimeoutException e) {
e.printStackTrace();
}
return connection;
}
public static void main(String[] args) {
Connection connection = getConnection();
System.out.println("connection: " + connection);
try {
connection.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}