站長資訊網
最全最豐富的資訊網站

RabbitMQ二進制和RPM安裝部署與常用命令

一 rabbitmq 簡介

RabbitMQ 是當今最主流的消息中間件之一。它是一個開源的AMQP實現,服務器端用Erlang語言編寫,支持多種客戶端,如:Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、XMPP、STOMP等,支持AJAX。用于在分布式系統中存儲轉發消息,在易用性、擴展性、高可用性等方面表現優異。

在安裝rabbitmq的時候需要注意rabbitmq 和erlang版本的關系,如果兩者關系不一一對應的話,那么會導致出錯的。
rabbitmq 版本和 erlang 的關系

RabbitMQ二進制和RPM安裝部署與常用命令

我們接下來的安裝的版本和環境是:

  • 系統平臺:CentOS 7
  • erlang版本:21.2
  • rabbit-server版本:3.7.12

rabbit-server 默認使用的端口 :
5672(AMQP端口) 和15672(web),還有其他不常用端口未列出,見官網。
如在公網上訪問,需要開放這兩個端口。

二 erlang 安裝

  • 2.1 安裝依賴包
yum -y install make gcc gcc-c++ m4 ncurses-devel openssl-devel unixODBC-devel
  • 2.2 下載erlang依賴包
cd  /tmp && wget http://erlang.org/download/otp_src_21.2.tar.gz
  • 2.3 解壓
tar xzf otp_src_21.2.tar.gz
  • 2.4 創建文件夾
mkdir /usr/local/erlang
  • 2.5 編譯并安裝erlang
cd otp_src_21.2  ./configure --prefix=/usr/local/erlang --without-javac  make && make install
  • 2.6 添加環境變量
vi + /etc/profile  # 添加以下內容  export PATH=$PATH:/usr/local/erlang/bin
  • 2.7 讓環境變量生效
source /etc/profile
  • 2.8 檢驗安裝
erl -version  # 能夠正確輸出下面的內容表示安裝完成  Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 10.2

三 rabbitmq rpm安裝 (二進制安裝和rpm安裝二選一)

安裝rabbitmq前必須先安裝符合要求的erlang

  • 3.1 下載RabbitMQ安裝包。
cd /tmp &&  wget  https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.7.12/rabbitmq-server-3.7.12-1.el7.noarch.rpm
  • 3.2 導入簽名密鑰。
rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc
  • 3.3 安裝 socat
yum install socat -y
  • 3.3 安裝RabbitMQ Server。
yum install  rabbitmq-server-3.7.12-1.el7.noarch.rpm  

如果在此遇到的錯誤見文章第七點顯示的錯誤收錄

  • 3.4 允許RabbitMQ開機自啟動。
systemctl enable rabbitmq-server
  • 3.5 啟動RabbitMQ。
systemctl start rabbitmq-server
  • 3.6 暫停RabbitMQ。
systemctl stop rabbitmq-server

四 rabbitmq 二進制安裝(rpm 安裝和二進制安裝二選一)

安裝rabbitmq前必須先安裝符合要求的erlang

  • 4.1 下載rabbitmq 二進制安裝
cd /tmp && wget   https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.7.12/rabbitmq-server-generic-unix-3.7.12.tar.xz
  • 4.2 解壓
tar -xf  rabbitmq-server*.tar.xz
  • 4.3 移動到指定路徑
mv  /tmp/rabbitmq_server-3.7.12  /usr/local/rabbitmq_server
  • 4.4 添加環境變量
vi + /etc/profile  # 添加以下內容  export PATH=$PATH:/usr/local/rabbitmq_server/sbin
  • 4.5 環境變量生效
source /etc/profile
  • 4.6 啟動rabbitmq server
rabbitmq-server 
  • 4.7 后臺啟動
rabbitmq-server -detached
  • 4.8 關閉rabbitmq
rabbitmqctl shutdown
  • 4.9 創建配置文件

在 $ RABBITMQ_HOME 的目錄下創建

#rabbitmq 配置文件   touch  ./etc/rabbitmq/rabbitmq.conf  #rabbitmq 環境變量文件  touch ./etc/rabbitmq/rabbitmq-env.conf
  • 4.10 設定 rabbitmq的家目錄路徑
vim ./sbin/rabbitmq-defaults  # 修改 SYS_PREFIX =  SYS_PREFIX =rabbitmq 家目錄路徑。

五 初始化并配置用戶和啟用web界面

  • 5.1 刪除默認用戶

對于生產環境,請刪除默認用戶(guest),默認用戶只能從localhost 連接。

 rabbitmqctl delete_user guest
  • 5.2 創建新用戶并設置為管理員

建議每個應用程序都使用單獨的用戶。

 rabbitmqctl add_user 用戶名 密碼   rabbitmqctl set_user_tags 用戶名 administrator
  • 5.3 設置用戶權限

設置用戶djx 具有 /這個virtual host的所有的資源的配置、寫、讀權限

rabbitmqctl  set_permissions -p / djx  '.*' '.*' '.*'
  • 5.4 啟用web 界面
 rabbitmq-plugins enable rabbitmq_management
  • 5.5 訪問

訪問路徑: http://ip:15672
出現以下界面就意味著搭建成功了

RabbitMQ二進制和RPM安裝部署與常用命令
RabbitMQ二進制和RPM安裝部署與常用命令

六 常用命令

官網文檔鏈接

  • 6.1 查看rabbitmq server 狀態
rabbitmqctl status
  • 6.2 查看已用的組件,內存使用情況,警報
rabbitmq-diagnostics status
  • 6.3 查看有效的節點配置
rabbitmq-diagnostics environment
  • 6.4 對本地節點執行更廣泛的運行狀況檢查
rabbitmq-diagnostics node_health_check
  • 6.5 virtual host操作
每個VirtualHost相當于一個相對獨立的RabbitMQ服務器,每個virtual host相互隔離  #  添加virtual host  rabbitmqctl add_vhost ${hostname}    # 刪除virtual host  rabbitmqctl delete_vhost ${hostname}    # 列出所有的virtual host  rabbitmqctl list_vhosts name tracing  # 設置某個用戶對于某個host 的權限  set_permissions [-p vhost] user conf write read    示例1:  rabbitmqctl set_permissions -p my-vhost janeway “^janeway-.*” “.*” “.*”  表示設置用戶 janeway 對于host名為 my-vhost的以janeway-為開頭的資源具有讀寫權限  示例2:  rabbitmqctl set_permissions -p my-vhost djx “.*” “.*” “.*”  表示設置用戶 djx 對于host名為 my-vhost的所有的資源具有讀寫權限    # 刪除用戶權限  clear_permissions [-p vhost] username  示例:  rabbitmqctl clear_permissions -p my-vhost janeway  刪除用戶 janeway 對host my-vhost 的權限    # 查看virtual host已有的用戶和權限  rabbitmqctl  list_permissions -p ${主機名}  
  • 6.6 用戶操作
# 添加用戶  rabbitmqctl add_user {用戶名} {密碼}    # 設置用戶角色,除了管理員用戶,還有監控者(monitoring),普通管理者(management),策略制定者(policymaker)      management       User can access the management plugin       policymaker       User can access the management plugin and manage policies and parameters for the vhosts they have access to.       monitoring       User can access the management plugin and see all connections and channels as well as node-related information.       administrator       User can do everything monitoring can do, manage users, vhosts and permissions, close other user’s connections, and manage policies and parameters for all vhosts.  示例  rabbitmqctl set_user_tags {用戶名} administrator/monitoring/management    # 查看用戶列表  rabbitmqctl list_users     # 給用戶賦予權限  rabbitmqctl  set_permissions -p {virtual host名稱} 用戶名 配置權限 寫權限 讀權限  示例  rabbitmqctl  set_permissions -p / djx  '.*' '.*' '.*'    # 查看用戶權限   rabbitmqctl  list_user_permissions {用戶名}     # 查看已有的用戶和權限  rabbitmqctl  list_permissions -p '{virtual host名}'    # 刪除用戶   rabbitmqctl delete_user {用戶名}    # 修改用戶的密碼  rabbitmqctl change_password {用戶名} {新密碼} 

七 錯誤解決方法

  • 問題1

如果在 yum install rabbitmq-server-3.7.12-1.el7.noarch.rpm 遇到了erlang依賴錯誤的話,

RabbitMQ二進制和RPM安裝部署與常用命令

實際我們是已經安裝erlang,但是rabbitmq-server 還是檢測不到,我重載了環境變量還是不行。

解決辦法

先忽略依賴問題安裝

rpm -i --nodeps rabbitmq-server-3.7.12-1.el7.noarch.rpm

然后更改rabbitmq的啟動加載的環境配置文件 /usr/lib/rabbitmq/bin/rabbitmq-env。在里面開頭添加

source  /etc/profile

或者嘗試方法:添加一個軟連接

ln -s /usr/local/erlang/bin/erl      /usr/bin/erl

八 rabbitmq 生產環境應該注意的地方

見文章 RabbitMQ 生產環境配置詳解 http://www.hospitaldelafe.com/Linux/2019-03/157354.htm

贊(0)
分享到: 更多 (0)
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
热99re久久免费视精品频软件| 精品国产福利一区二区| 精品3d动漫视频一区在线观看| 国产精品无码亚洲一区二区三区 | 精品国产18久久久久久| 国产91精品在线观看| 国产精品手机在线观看你懂的 | 国产亚洲精品免费| 国产精品视频永久免费播放| 99久久人妻无码精品系列 | 亚洲精品午夜在线观看| 无码人妻精品一区二区三| 日韩精品乱码AV一区二区| 国产老女人精品免费视频| 久久精品国产亚洲av天美18| 国产高清国内精品福利| ...91久久精品一区二区三区| 99久久精品免费视频| 亚洲AV日韩精品久久久久久久| 国产精品久线在线观看| 日韩伦理一区二区| 最新国产精品亚洲| 久久久久亚洲精品无码系列| 九九热在线精品视频| 日韩一区二区a片免费观看| 国产av无码久久精品| 国产亚洲精品欧洲在线观看| 国产精品天天在线| 国产精品视频1区| 国产av影片麻豆精品传媒| 欧亚精品卡一卡二卡三| 国产精品永久免费| 精品成人av一区二区三区| 国产精品成人久久久久三级午夜电影 | 亚洲国产精品无码久久久蜜芽| 国产精品无码无片在线观看| 亚洲av综合日韩| 亚洲av日韩av永久无码电影| 日韩一区二区在线免费观看| 日本精品夜色视频一区二区| 亚洲国产成人精品91久久久|