91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何運行和管理RabbitMQ

發布時間:2021-11-25 10:31:08 來源:億速云 閱讀:163 作者:小新 欄目:數據庫

小編給大家分享一下如何運行和管理RabbitMQ,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

RabbitMQ服務管理

啟動RabbitMQ應用程序和Erlang節點

# /etc/init.d/rabbitmq-server start

停止RabbitMQ應用程序和Erlang節點

# /etc/init.d/rabbitmq-server stop

或者

# rabbitmqctl stop

只啟動/停止RabbitMQ應用

[root@localhost ~]# rabbitmqctl stop_app

[root@localhost ~]# rabbitmqctl start_app

啟用管理插件

#rabbitmq-plugins enable rabbitmq_management

RabbitMQ configuration file

RabbitMQ的配置文件有兩個

  • 一個是環境變量的配置文件 rabbitmq-env.conf ;

  • 一個是配置信息的配置文件 rabbitmq.config;

注意,這兩個文件默認是沒有的,如果需要必須自己創建。RabbitMQ如果是用RPM包安裝的,那么它的配置文件目錄為/etc/rabbitmq,我們需要在此目錄下手動創建rabbitmq.config文件和rabbitmq-env.conf文件,并更改這兩個文件的屬主屬組為rabbitmq

[root@localhost rabbitmq]# ll
total 12
-rw-r--r-- 1 root     root     23 Nov 10 18:37 enabled_plugins
-rw-r--r-- 1 rabbitmq rabbitmq 36 Nov 10 18:35 rabbitmq.config
-rw-r--r-- 1 rabbitmq rabbitmq 80 Nov 10 18:35 rabbitmq-env.conf

rabbitmq-env.conf

這個文件的位置是確定和不能改變的,位于:/etc/rabbitmq目錄下(這個目錄需要自己創建)。
文件的內容包括了RabbitMQ的一些環境變量,常用的有:

RABBITMQ_NODENAME=FZTEC-240088 節點名稱
RABBITMQ_NODE_IP_ADDRESS=127.0.0.1 監聽IP
RABBITMQ_NODE_PORT=5672 監聽端口
RABBITMQ_LOG_BASE=/data/rabbitmq/log 日志目錄
RABBITMQ_PLUGINS_DIR=/data/rabbitmq/plugins 插件目錄
RABBITMQ_MNESIA_BASE=/data/rabbitmq/mnesia 后端存儲目錄

rabbitmq.config

這是一個標準的erlang配置文件。它必須符合erlang配置文件的標準。
它既有默認的目錄,也可以在rabbitmq-env.conf文件中配置,該文件結構為哈希數組格式

例如:

[
{mnesia, [{dump_log_write_threshold, 1000}]},
{rabbit, [{vm_memory_high_watermark, 0.4}]}
{rabbitmq_management,
[{listener, [{port, 55673},
{ip, "0.0.0.0"}
]}
]}
].

mnesia指的是Mnesia數據庫配置選項,Mnesia是RabbitMQ用來存儲交換器和隊列元數據的

rabbit指的是RabbitMQ特定的配置選項,每個選項的表達式都為{[option_name],[option_value]}。

Mnesia配置選項:

dump_log_write_threshold:默認值為100,將僅限追加的日志內容刷出/轉儲至真實的數據庫文件的頻度,它明確指定了在轉儲操作發生前,必須有多少個條目存儲在日志中。設置更高的數值將減少I/O負載并增加持久化消息的性能。

Rabbit配置選項:

tcp_listeners:            默認值[{"0.0.0.0",5672},],定義了RabbitMQ應該監聽的非SSL加密通信的IP地址和端口
{“ip地址”,“端口號”}數組
ssl_listeners:             默認值為空,定義了RabbitMQ應該監聽的SSL加密通信的IP地址和端口
{“ip地址”,“端口號”}數組
ssl_options:    默認值為空,指定SSL相關的選項,有cacertfile(CA證書文件),keyfile(密鑰文件)和fail_if_no_peer_cert(客戶端有效證書)
{“鍵”,“值”}數組
vm_memory_high_watermark: 默認值0.4  控制RabbitMQ允許消耗的的內存百分比,0.4=40%
十進制數值
msg_store_file_size_limit: 默認值16777216  RabbitMQ垃圾收集存儲內容之前,消息存儲數據庫的最大大小
整型  單位字節B
queue_index_max_journal_entries: 默認值262144  在轉儲到消息存儲數據庫并提交之前,消息存儲數據庫的最大大小
整型

其他參數:

disk_free_limit 磁盤低水位線,若磁盤容量低于指定值則停止接收數據,默認值為{mem_relative, 1.0},即與內存相關聯1:1,也可定制為多少byte.
hipe_compile 將部分rabbimq代碼用High Performance Erlang compiler編譯,可提升性能,該參數是實驗性,若出現erlang vm segfaults,應關掉。
force_fine_statistics, 該參數屬于rabbimq_management,若為true則進行精細化的統計,但會影響性能。

RabbitMQ兩個配置文件的更多詳細信息請參考官網

http://www.rabbitmq.com/configure.html#configuration-file

RabbitMQ用戶管理

添加用戶:

rabbitmqctl add_user [username]  [password]

例如:

rabbitmqctl add_user pms pms

將用戶的tags設置為administrator,注意,這一步非常重要,否則無法使用創建的用戶通過web瀏覽器登錄并管理MQ服務

rabbitmqctl set_user_tags pms administrator

刪除用戶:

rabbitmqctl  delete_user [username]

注意:當刪除用戶時,任何引用該用戶的訪問控制條目都會從Rabbit權限數據庫中刪除中自動刪除。同事rabbit不會警告你與用戶相關的訪問控制條目也會一并被刪除。

修改用戶密碼:

rabbitmqctl  change_password  Username  Newpassword

列出用戶

rabbitmqctl  list_users

更改密碼

rabbitmqctl change_password  [username] [newpasswd]

RabbitMQ權限管理

RabbitMQ權限分類

  • 讀:有關消費消息的任何操作,包括清除整個隊列(需要綁定操作成功)

  • 寫:發布消息(需要綁定操作成功)

  • 配置:隊列和交換器的創建和刪除

權限設置:

rabbitmqctl set_permissions -p [vhost_name] [user_name] [config] [write] [read]

例1:

rabbitmqctl set_permissions -p / guest ".*" ".*" ".*"

-p / :表示對/ 虛擬主機設置權限,如何省略vhost,默認為“/”虛擬主機

guest:對guest用戶設置權限

后面的三個".*"分別對應配置、寫、讀的權限

“.*”為正則表達式,指代所有權限,".*"意味著匹配所有交換器和隊列。這樣就允許guest用戶對/ 虛擬主機的所有隊列和交換器執行配置、寫、讀命令。

例2:

# rabbitmqctl set_permissions -p / aaa "" "check-.*" ".*"
Setting permissions for user "aaa" in vhost "/" ...

對“/”虛擬主機賦予 aaa用戶不能配置,限制只能對以“check-”開頭的隊列和交換器寫操作,對所有隊列和交換器可讀的操作的權限。

查看權限

rabbitmqctl list_permissions -p [vhost_name]
rabbitmqctl list_permissions -p /
Listing permissions in vhost "/" ...
guest   .*      .*      .*
spms    .*      .*      .*
aaa             check-.*        .*

刪除權限

rabbitmqctl clear_permissions -p [vhost_name] [user_name]

例如:

rabbitmqctl clear_permissions -p / aaa 
Clearing permissions for user "aaa" in vhost "/" ...
[root@localhost ~]# rabbitmqctl list_permissions -p /
Listing permissions in vhost "/" ...
guest   .*      .*      .*
spms    .*      .*      .*

MQ 用戶角色
按照個人理解,用戶角色可分為五類,超級管理員, 監控者, 策略制定者, 普通管理者以及其他。
(1) 超級管理員(administrator)
可登陸管理控制臺(啟用management plugin的情況下),可查看所有的信息,并且可以對用戶,策略(policy)進行操作。
(2) 監控者(monitoring)
可登陸管理控制臺(啟用management plugin的情況下),同時可以查看rabbitmq節點的相關信息(進程數,內存使用情況,磁盤使用情況等)
(3) 策略制定者(policymaker)
可登陸管理控制臺(啟用management plugin的情況下), 同時可以對policy進行管理。但無法查看節點的相關信息(上圖紅框標識的部分)。與administrator的對比,administrator能看到這些內容。
(4) 普通管理者(management)
僅可登陸管理控制臺(啟用management plugin的情況下),無法看到節點信息,也無法對策略進行管理。
(5) 其他
無法登陸管理控制臺,通常就是普通的生產者和消費者。

以上是“如何運行和管理RabbitMQ”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

巨野县| 简阳市| 高阳县| 高唐县| 马龙县| 四会市| 获嘉县| 克什克腾旗| 五原县| 河北省| 应城市| 义乌市| 镇雄县| 鸡东县| 凤庆县| 兰坪| 翁牛特旗| 康定县| 海兴县| 建阳市| 汕头市| 雷州市| 绵阳市| 巫溪县| 弥勒县| 荆门市| 宁陵县| 鹿邑县| 河曲县| 淳安县| 阿瓦提县| 布尔津县| 仁寿县| 都匀市| 土默特右旗| 涞源县| 疏附县| 无锡市| 蒙自县| 浑源县| 普安县|