在安装任何软件包之前,建议您使用以下命令更新软件包和存储库。
yum -y update
更新系统后,进一步安装Erlang。
RabbitMQ是用Erlang语言编写的,在本教程中我们将安装最新版本的Erlang到服务器中。 Erlang在默认的YUM存储库中不可用,因此您将需要安装EPEL存储库。 运行以下命令相同。
yum -y install epel-release
yum -y update
现在使用以下命令安装Erlang。
yum -y install erlang socat
您现在可以使用以下命令检查Erlang版本。
erl -version
您将得到以下输出。
[root@liptan-pc ~]# erl -version Erlang (ASYNC_THREADS,HIPE) (BEAM) emulator version 5.10.4
要切换到Erlang shell,可以键入以下命令。
erl
shell将更改,您将得到以下输出。
Erlang R16B03-1 (erts-5.10.4) [source] [64-bit] [async-threads:10] [hipe] [kernel-poll:false] Eshell V5.10.4 (abort with ^G) 1>
您可以通过按ctrl + C两次退出shell。 Erlang现在安装在系统上,现在可以继续安装RabbitMQ。
RabbitMQ为预编译并可以直接安装的企业Linux系统提供RPM软件包。 唯一需要的依赖是将Erlang安装到系统中。 我们已经安装了Erlang,我们可以进一步下载RabbitMQ。 通过运行下载Erlang RPM软件包。
wget https://www.rabbitmq.com/releases/rabbitmq-server/v3.6.10/rabbitmq-server-3.6.10-1.el7.noarch.rpm
如果你没有安装wget ,可以运行yum -y install wget 。 您可以随时找到最新版本的RabbitMQ下载页面的链接。
通过运行导入GPG密钥:
rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc
运行RPM安装RPM包:
rpm -Uvh rabbitmq-server-3.6.10-1.el7.noarch.rpm
RabbitMQ现已安装在您的系统上。
您可以通过运行以下命令启动RabbitMQ服务器进程。
systemctl start rabbitmq-server
要在引导时自动启动RabbitMQ,请运行以下命令。
systemctl enable rabbitmq-server
要检查RabbitMQ服务器的状态,请运行:
systemctl status rabbitmq-server
启动RabbitMQ Web管理控制台,方法是运行:
rabbitmq-plugins enable rabbitmq_management
通过运行以下命令,将RabbitMQ文件的所有权提供给RabbitMQ用户:
chown -R rabbitmq:rabbitmq /var/lib/rabbitmq/
现在,您将需要为RabbitMQ Web管理控制台创建管理用户。 运行以下命令相同。
rabbitmqctl add_user admin StrongPassword
rabbitmqctl set_user_tags admin administrator
rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
将管理员更改为管理员用户的首选用户名。 确保将StrongPassword更改为非常强大的密码。
要访问RabbitMQ的管理面板,请使用您最喜爱的Web浏览器并打开以下URL。
http://Your_Server_IP:15672/
#guest 用户默认只能本地登录 可修改配置其他服务器可登录
cd /etc/rabbitmq/ vi rabbitmq.config 添加配置:
[{rabbit, [{loopback_users, []}]}].
保存配置后重启服务:
service rabbitmq-server stop service rabbitmq-server start
注意:记得开放 15672 5672 端口。
原文:https://www.howtoing.com/how-to-install-rabbitmq-server-on-centos-7/
springboot 整合配置
pom:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> <version>2.5.5</version> </dependency> yml:
rabbitmq: host: 127.0.0.1 username: name password: password virtual-host: test template: exchange: exchange.name publisher-confirm-type: none
消息序列化转换配置(消息可通过实体传递): @Bean public MessageConverter getMessageConverter(){ return new Jackson2JsonMessageConverter(); } 消费者注解配置:
@Component public class RabbitCustomer { private ObjectMapper mapper=new ObjectMapper(); @RabbitListener(bindings = @QueueBinding( value = @Queue(value = "ppg.rb.queue", durable = "true"), exchange = @Exchange( value = "ppg.rb.exchange", ignoreDeclarationExceptions = "true", type = ExchangeTypes.TOPIC ), key = {"ppg.key.#"})) public void listen(ListenBaseModel model) throws Exception { System.out.println("接收到消息:"+mapper.writeValueAsString(model)); } }