LoginSignup
0
0

More than 5 years have passed since last update.

CentOS7にRabbitMQを入れる

Posted at

環境

server
os:centos7
  |
client
os:centos7

手順

serverで実行する。

username='admin'
password='secret'

yum install -y epel-release
yum install -y rabbitmq-server
systemctl start rabbitmq-server.service
systemctl enable rabbitmq-server.service
rabbitmqctl add_user $username $password
rabbitmqctl set_user_tags $username administrator
rabbitmqctl set_permissions $username '.*' '.*' '.*'
rabbitmq-plugins enable rabbitmq_management
systemctl restart rabbitmq-server.service
firewall-cmd --permanent --new-service=rabbitmq
firewall-cmd --permanent --service=rabbitmq --add-port=5672/tcp
firewall-cmd --permanent --new-service=rabbitmq-management
firewall-cmd --permanent --service=rabbitmq-management --add-port=15672/tcp
firewall-cmd --permanent --add-service=rabbitmq
firewall-cmd --permanent --add-service=rabbitmq-management
firewall-cmd --reload

clientで実行する。

username='admin'
password='secret'
queue='demo.queue'
server='server'

curl -o ./rabbitmqadmin http://$server:15672/cli/rabbitmqadmin
chmod -v +x ./rabbitmqadmin
cat <<__TEXT__ | tee ~/.rabbitmqadmin.conf >/dev/null
[default]
hostname = $server
username = $username
password = $password
__TEXT__

# キューを作る
./rabbitmqadmin declare queue name="$queue"

# キューにメッセージを加える
echo "msg" | ./rabbitmqadmin publish routing_key="$queue"

# メッセージ数を得る
./rabbitmqadmin list queues -f pretty_json \
| jq "
    map({\"name\":.name, \"messages\":.messages}) \
    | map(select(.name=\"demo.queue\"))
  "

# 消さずにメッセージを得る
./rabbitmqadmin get queue="$queue" -f pretty_json

# メッセージを消す
./rabbitmqadmin purge queue name="$queue"

# キューを消す
./rabbitmqadmin delete queue name="$queue"
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0