Jam*_*vec 95
摘要:
其他答案是要求的好方法.以下是可以从命令行使用的命令.
首先,做所有必要的准备工作,例如安装兔子rabbitmqadmin,和rabbitctl.我们的想法是使用来自rabbitmqctl和的命令rabbitmqadmin.您可以看到一些命令示例:https://www.rabbitmq.com/management-cli.html
示例命令/设置:
以下命令应该为您提供大多数(如果不是全部)所需的内容:
# Get the cli and make it available to use.
wget http://127.0.0.1:15672/cli/rabbitmqadmin
chmod +x rabbitmqadmin
mv rabbitmqadmin /etc/rabbitmq
Run Code Online (Sandbox Code Playgroud)
添加用户和权限
rabbitmqctl add_user testuser testpassword
rabbitmqctl set_user_tags testuser administrator
rabbitmqctl set_permissions -p / testuser ".*" ".*" ".*"
Run Code Online (Sandbox Code Playgroud)
创建虚拟主机并设置权限
rabbitmqctl add_vhost Some_Virtual_Host
rabbitmqctl set_permissions -p Some_Virtual_Host guest ".*" ".*" ".*"
Run Code Online (Sandbox Code Playgroud)
进行交流
./rabbitmqadmin declare exchange --vhost=Some_Virtual_Host name=some_exchange type=direct
Run Code Online (Sandbox Code Playgroud)
建立一个队列
./rabbitmqadmin declare queue --vhost=Some_Virtual_Host name=some_outgoing_queue durable=true
Run Code Online (Sandbox Code Playgroud)
做一个绑定
./rabbitmqadmin --vhost="Some_Virtual_Host" declare binding source="some_exchange" destination_type="queue" destination="some_incoming_queue" routing_key="some_routing_key"
Run Code Online (Sandbox Code Playgroud)
用Python绑定的另一种方法
以下是命令行绑定的替代方法,因为我有时会遇到问题,并发现以下python代码更可靠.
#!/usr/bin/env python
import pika
rabbitmq_host = "127.0.0.1"
rabbitmq_port = 5672
rabbitmq_virtual_host = "Some_Virtual_Host"
rabbitmq_send_exchange = "some_exchange"
rabbitmq_rcv_exchange = "some_exchange"
rabbitmq_rcv_queue = "some_incoming_queue"
rabbitmq_rcv_key = "some_routing_key"
outgoingRoutingKeys = ["outgoing_routing_key"]
outgoingQueues = ["some_outgoing_queue "]
# The binding area
credentials = pika.PlainCredentials(rabbitmq_user, rabbitmq_password)
connection = pika.BlockingConnection(pika.ConnectionParameters(rabbitmq_host, rabbitmq_port, rabbitmq_virtual_host, credentials))
channel = connection.channel()
channel.queue_bind(exchange=rabbitmq_rcv_exchange, queue=rabbitmq_rcv_queue, routing_key=rabbitmq_rcv_key)
for index in range(len(outgoingRoutingKeys)):
channel.queue_bind(exchange=rabbitmq_send_exchange, queue=outgoingQueues[index], routing_key=outgoingRoutingKeys[index])
Run Code Online (Sandbox Code Playgroud)
以上可以使用python作为脚本的一部分运行.请注意,我将传出的东西放入数组,这将允许您迭代它们.这应该使部署变得容易.
最后的想法
我认为以上应该让你朝着正确的方向前进,如果任何特定命令没有意义或者阅读更多,请使用谷歌rabbitmqadmin help subcommands.我试图使用解释自己的变量.祝好运 :)
OJ.*_*OJ. 26
安装RabbitMQ管理插件.它附带一个命令行工具,您可以使用它来配置所有队列/交换/等.
小智 7
创建一个交易所:
rabbitmqadmin -u {user} -p {password} -V {vhost} declare exchange name={name} type={type}
创建一个队列:
rabbitmqadmin -u {user} -p {password} -V {vhost} declare queue name={name}
将队列绑定到Exchange:
rabbitmqadmin -u {user} -p {password} -V {vhost} declare binding source={Exchange} destination={queue}
也许参加聚会有点晚了,但我已经使用 CURL 这样做了。
对于队列:
curl -i -u RABBITUSER:RABBITPASSWORD -H "content-type:application/json" \
-XPUT -d'{"durable":true}' \
http://192.168.99.100:15672/api/queues/%2f/QUEUENAME
Run Code Online (Sandbox Code Playgroud)
和绑定
curl -i -u RABBITUSER:RABBITPASSWORD -H "content-type:application/json" \
-XPOST -d"{\"routing_key\":\"QUEUENAME\"}" \
http://192.168.99.100:15672/api/bindings/%2f/e/EXCHANGENAME/q/QUEUENAME
Run Code Online (Sandbox Code Playgroud)
Note 192.168.99.100:15672 指向我的 RMQ 管理
小智 5
如果您使用的是Linux Debian,则有一个名为“ amqp-tools”的软件包。用安装
apt-get install amqp-tools
Run Code Online (Sandbox Code Playgroud)
然后,您可以使用命令行(例如amqp-publish)将消息发送到队列中
amqp-publish -e exchange_name -b "your message"
Run Code Online (Sandbox Code Playgroud)
然后,您可以使用以下命令从队列中收集消息
amqp-get -q queue_name
Run Code Online (Sandbox Code Playgroud)
要么
amqp-consume -q queue_name
Run Code Online (Sandbox Code Playgroud)
也有来自Rabbitmq-c软件包/库的(命令行)示例。构建后,您可以通过命令行发送消息,例如
amqp_sendstring localhost 5672 amq.direct test "hello world"
Run Code Online (Sandbox Code Playgroud)
玩得开心 ...
| 归档时间: |
|
| 查看次数: |
67934 次 |
| 最近记录: |