centos 安装 rabbitmq-server 笔记

环境:centos Linux service.linxk.lan 3.10.0-862.14.4.el7.x86_64

安装包:

curl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh | sudo bash
yum install erlang.x86_64

curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | sudo bash

yum install rabbitmq-server   (3.7.14版本)

启动方法:

1, systemctl start rabbitmq-server

2,service rabbitmq-server start

3,  /usr/lib/rabbitmq/bin/rabbitmq-server start 

 

安装好启动之后发现 执行: rabbitmqctl-status 

报错:

Status of node rabbit@service ...
Error: unable to perform an operation on node 'rabbit@service'. Please see diagnostics information and suggestions below.

Most common reasons for this are:

 * Target node is unreachable (e.g. due to hostname resolution, TCP connection or firewall issues)
 * CLI tool fails to authenticate with the server (e.g. due to CLI tool's Erlang cookie not matching that of the server)
 * Target node is not running

In addition to the diagnostics info below:

 * See the CLI, clustering and networking guides on https://rabbitmq.com/documentation.html to learn more
 * Consult server logs on node rabbit@service
 * If target node is configured to use long node names, don't forget to use --longnames with CLI tools

DIAGNOSTICS
===========

attempted to contact: [rabbit@service]

rabbit@service:
  * connected to epmd (port 4369) on service
  * epmd reports node 'rabbit' uses port 25672 for inter-node and CLI tool traffic 
  * can't establish TCP connection to the target node, reason: timeout (timed out)
  * suggestion: check if host 'service' resolves, is reachable and ports 25672, 4369 are not blocked by firewall

Current node details:
 * node name: 'rabbitmqcli-3378-rabbit@service'
 * effective user's home directory: /var/lib/rabbitmq
 * Erlang cookie hash: 6y0V31QE7e3kp972ErQd/w==

 

Error: unable to perform an operation on node 'rabbit@service'. Please see diagnostics information and suggestions below. 

没有rabbit@service节点, server就是本机的hostname

解决方法:

在/etc/hosts 中 添加

127.0.0.1 server

在次执行  rabbitmqctl-status 

正常显示

Status of node rabbit@service ...
[{pid,1034},
 {running_applications,
     [{rabbitmq_management,"RabbitMQ Management Console","3.7.14"},
      {rabbitmq_web_dispatch,"RabbitMQ Web Dispatcher","3.7.14"},
      {rabbitmq_management_agent,"RabbitMQ Management Agent","3.7.14"},
      {rabbit,"RabbitMQ","3.7.14"},
      {sysmon_handler,"Rate-limiting system_monitor event handler","1.1.0"},
      {os_mon,"CPO  CXC 138 46","2.4.7"},

 .....

 

开启web管理命令:rabbitmq-plugins enable rabbitmq_management

执行此命令后, 需重启rabbitmq-server

 

服务系统有个默认的guest账号, 但是只能在本机访问,因此最好在命令好增加一个账号

rabbitmqctl add_user username userpasswd     # 添加账号密码

rabbitmqctl set_user_tags  username administrator  #把账号加入到高级管理

 

到此就可以用创建的账号密码登录rabbitmq web了!

 

web 端的配置, 可查看此链接:

https://www.jianshu.com/p/7b6e575fd451

CentOS操作系统上安装rabbitmq-c并使用,具体步骤如下: 1. 安装依赖项:在Linux终端中运行以下命令以安装rabbitmq-c的依赖项: ``` sudo yum install -y make cmake gcc gcc-c++ openssl-devel librabbitmq-devel ``` 2. 下载rabbitmq-c:从rabbitmq-c的官方网站(https://github.com/alanxz/rabbitmq-c)下载最新的源代码。 3. 构建rabbitmq-c:在rabbitmq-c的源代码目录中,运行以下命令以构建rabbitmq-c: ``` mkdir build && cd build cmake .. cmake --build . sudo cmake --build . --target install ``` 4. 在你的C代码中,使用以下头文件包含rabbitmq-c: ``` #include <rabbitmq-c/amqp.h> #include <rabbitmq-c/amqp_tcp_socket.h> ``` 5. 连接到RabbitMQ服务器:在你的C代码中,使用以下代码连接到RabbitMQ服务器: ``` amqp_socket_t *socket = amqp_tcp_socket_new(conn); if (!socket) { // 连接失败的处理 } int status = amqp_socket_open(socket, hostname, port); if (status != AMQP_STATUS_OK) { // 连接失败的处理 } amqp_connection_state_t conn = amqp_new_connection(); if (!conn) { // 连接失败的处理 } amqp_rpc_reply_t reply = amqp_login(conn, "/", 0, 131072, 0, AMQP_SASL_METHOD_PLAIN, username, password); if (reply.reply_type != AMQP_RESPONSE_NORMAL) { // 连接失败的处理 } ``` 6. 发送消息到队列:在你的C代码中,使用以下代码发送消息到队列: ``` amqp_basic_properties_t props; props._flags = AMQP_BASIC_CONTENT_TYPE_FLAG | AMQP_BASIC_DELIVERY_MODE_FLAG; props.content_type = amqp_cstring_bytes("text/plain"); props.delivery_mode = 2; // 持久化消息 amqp_bytes_t message_bytes = amqp_cstring_bytes("Hello, RabbitMQ!"); int status = amqp_basic_publish(conn, 1, amqp_cstring_bytes(exchange_name), amqp_cstring_bytes(routing_key), 0, 0, &props, message_bytes); if (status != AMQP_STATUS_OK) { // 发送失败的处理 } ``` 7. 接收消息:在你的C代码中,使用以下代码接收消息: ``` amqp_rpc_reply_t reply = amqp_basic_consume(conn, 1, amqp_cstring_bytes(queue_name), amqp_empty_bytes, 0, 1, 0, amqp_empty_table); if (reply.reply_type != AMQP_RESPONSE_NORMAL) { // 订阅失败的处理 } while (1) { amqp_envelope_t envelope; amqp_rpc_reply_t reply = amqp_consume_message(conn, &envelope, NULL, 0); if (reply.reply_type != AMQP_RESPONSE_NORMAL) { // 接收失败的处理 } // 在这里处理接收到的消息 amqp_destroy_envelope(&envelope); } ``` 以上就是在CentOS操作系统上安装rabbitmq-c并使用的步骤。希望对你有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值