RabbitMQ Ubuntu18.0.4安裝及簡單使用

0x01、安裝依賴erlang

由於rabbitMq需要erlang語言的支持,在安裝rabbitMq之前需要安裝erlang

sudo apt-get install erlang-nox
0x02、安裝Rabbitmq

先更新apt源

sudo apt-get update

然後安裝rabbitmq

sudo apt-get install rabbitmq-server

啓動、停止、重啓、狀態rabbitMq命令,詳情使用鏈接請點擊這裏

服務啓動關閉
rabbitmq-server -detached  # 可以後臺啓動
rabbitmqctl stop  # 可以停止

下面是一些命令,但是有些測試了出現不能起作用
sudo rabbitmq-server start  # 這個啓動不能再後臺啓動,so不推薦使用
sudo rabbitmq-server stop  # 好像不能使用這條命令,停止的正確命令在下面的命令,報錯ERROR: node with name "rabbit" already running on "develop"
sudo rabbitmq-server restart  # 這條好像也是不能起作用,報錯ERROR: node with name "rabbit" already running on "develop"
sudo rabbitmqctl status  # 可以查看運行的狀態信息
0x03、添加admin,並賦予administrator權限

添加admin用戶,密碼設置爲admin。

sudo rabbitmqctl add_user  admin  admin

賦予權限

sudo rabbitmqctl set_user_tags admin administrator

賦予virtual host中所有資源的配置、寫、讀權限以便管理其中的資源

sudo rabbitmqctl  set_permissions -p / admin '.*' '.*' '.*'
0x04、RabbitMQ GUID使用

1、官方提供的一個web管理工具(rabbitmq_management)點擊我進行了解

2、安裝了Rabbitmq後,默認也安裝了該管理工具,執行命令即可啓動

sudo  rabbitmq-plugins enable rabbitmq_management  #(先定位到rabbitmq安裝目錄)

3、瀏覽器訪問http://你的rabbitmq ip:15672/

輸入剛剛創建的賬號密碼即可訪問(這裏我設置的都是admin,你們的需要根據實際情況來調整)

在這裏插入圖片描述

0x05、總結常用命令
rabbitmq-server -detached  # 後臺啓動
sudo rabbitmq-server start  # 阻塞啓動,一直處於阻塞狀態,不能後臺,想後臺掛起的話,需要啓動後按Ctrl+z纔行 
rabbitmqctl stop  # 停止
rabbitmqctl status  # 查看服務器狀態
rabbitmqctl list_queues  # 查看隊列信息
rabbitmqctl add_user  admin  admin  # 添加用戶及密碼
rabbitmqctl set_user_tags admin administrator  # 給admin用戶賦權限
rabbitmqctl  set_permissions -p / admin '.*' '.*' '.*'  # 賦予virtual host中所有資源的配置、寫、讀權限以便管理其中的資源
rabbitmq-plugins enable  # 激活管理工具

查看到存在的參數有:
{start|stop|status|rotate-logs|restart|condrestart|try-restart|reload|force-reload}


另外補充的:
service rabbitmq-server   start
service rabbitmq-server   stop
service rabbitmq-server   status
service rabbitmq-server   rotate-logs|
service rabbitmq-server   restart
service rabbitmq-server   condrestart
service rabbitmq-server   try-restart
service rabbitmq-server   reload
service rabbitmq-server   force-reload

ps -ef | grep rabbitmq  查看rabbitMq進程

kill -9 pid

netstat -anplt | grep LISTEN  rabbitmq默認監聽端口15672/5672
0x06、限制rabbitmq只監聽本地的localhost,防外網入侵的,簡單做法(這樣描述如有不到位請指出)
參考鏈接
原文(英文):https://stackoverflow.com/questions/57225331/bind-rabbitmq-to-localhost-on-ubuntu-server-18-04/57225410#57225410

中文版:https://codeday.me/bug/20181105/356153.html

可以查看監聽情況
lsof -n -a -i -urabbitmq

兩個主要文件內容:
/etc/rabbitmq/rabbitmq-env.conf(存在)

export RABBITMQ_CONFIG_FILE="/etc/rabbitmq/rabbit"

# Defaults to rabbit. This can be useful if you want to run more than one node
# per machine - RABBITMQ_NODENAME should be unique per erlang-node-and-machine
# combination. See the clustering on a single machine guide for details:
# http://www.rabbitmq.com/clustering.html#single-machine
#NODENAME=rabbit

# By default RabbitMQ will bind to all interfaces, on IPv4 and IPv6 if
# available. Set this if you only want to bind to one network interface or#
# address family.
#NODE_IP_ADDRESS=127.0.0.1

# Defaults to 5672.
#NODE_PORT=5672

# 2019-10-30 添加下邊的讓rabbitmq和epmd只是監聽本地的
export RABBITMQ_NODENAME=rabbit@localhost
export RABBITMQ_NODE_IP_ADDRESS=127.0.0.1
export ERL_EPMD_ADDRESS=127.0.0.1

/etc/rabbitmq/rabbitmq.config(自建)

# [{kernel,[{inet_dist_use_interface,{127,0,0,1}}]}].
[
    {rabbitmq_management, [
        {listener, [{port, 15672}, {ip, "127.0.0.1"}]}
    ]},
    {kernel, [
        {inet_dist_use_interface,{127,0,0,1}}
    ]}
].
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章