配置Debian上的RabbitMQ时,有几个关键要点需要注意,以确保系统的稳定性和安全性。以下是一些主要的配置要点:
安装Erlang:
sudo apt-get update
sudo apt-get install -y erlang
安装RabbitMQ:
sudo apt-get install -y apt-transport-https
curl -fsSL https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc | sudo apt-key add -
echo "deb https://dl.rabbitmq.com/debian/ rabbitmq-server main" | sudo tee /etc/apt/sources.list.d/rabbitmq.list
sudo apt-get update
sudo apt-get install -y rabbitmq-server
队列(Queue):
@Bean
public Queue demoQueue() {
return QueueBuilder.durable("demo.queue").build();
}
交换机(Exchange):
@Bean
public DirectExchange demoExchange() {
return new DirectExchange("demo.exchange");
}
绑定(Binding):
@Bean
public Binding binding() {
return BindingBuilder.bind(demoQueue()).to(demoExchange()).with("demo.key");
}
*.orange.*
)。
rabbitTemplate.convertAndSend("topic.exchange", "quick.orange.rabbit", "Topic Message");
使用Spring AMQP的注解方式简化队列和绑定的创建过程。
@RabbitListener(bindings = @QueueBinding(
value = @Queue("annotation.queue", durable = "true"),
exchange = @Exchange(value = "annotation.exchange", type = ExchangeTypes.DIRECT),
key = "annotation.key"))
public void handleAnnotationMessage(String message) {
System.out.println("Received: " + message);
}
设置用户权限:
sudo rabbitmqctl add_user myuser mypassword
sudo rabbitmqctl set_permissions -p / myuser ".*" ".*" ".*"
启用TLS/SSL:
监控:
sudo rabbitmq-plugins enable rabbitmq_management
日志:
/etc/rabbitmq/rabbitmq.conf
,添加或修改以下配置:log.file.level = debug
log.file.path = /var/log/rabbitmq/rabbit@<hostname>.log
通过以上配置要点,可以确保在Debian上安装和运行RabbitMQ时,系统具有良好的稳定性、安全性和可管理性。