文章目錄
1.安裝erlang
1.1 erlang下載地址
erlang solutions 地址:https://www.erlang-solutions.com/resources/download.html
安裝rabbitMQ之前 我們先得安裝erlang 因爲rabbitMQ是用erlang語言編寫的 所以爲了rabbitMQ能完美安裝 我們第一步得安裝erlang
安裝之前呢 我們得先瞭解到 rabbitMQ與erlang之間 有個版本對應關係 要是這兩個版本之間不適配 那麼rabbitMQ的安裝還是會有問題。
在這裏 博客已經選好了各自對應的版本 親測完美適配
erlang對應版本→→21.1
rabbitMQ對應版本→→3.7.12
1.2 開始安裝
- 安裝命令
rpm -ivh --nodeps esl-erlang_22.1-1_centos_7_amd64.rpm --nosignature
或者
yum install esl-erlang_22.1-1~centos~7_amd64.rpm
驗證erlang環境
配置前先查看erlang的安裝路徑
whereis erlang
查看erlang的安裝版本
驗證erlang是否安裝成功
2.安裝rabbitMQ
rabbitMQ對應的版本是3.7.12
2.1 rabbitMQ下載
rabbitMQ下載地址:https://www.rabbitmq.com/download.html
若是打不開,直接用wget命令,在linux下載,如下
- 下載rpm包到home目錄下
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.7.12/rabbitmq-server-3.7.12-1.el7.noarch.rpm
2.2 開始安裝rabbitMQ
安裝命令
rpm -ivh --nodeps rabbitmq-server-3.7.12-1.el7.noarch.rpm --nosignature
2.3 查看rabbitmq安裝路徑
配置前先查看rabbitmq的安裝路徑
whereis rabbitmq
2.4 配置rabbitmq
添加web插件
rabbitmq-plugins enable rabbitmq_management
2.5 linux本地啓動rabbitmq
啓動命令
rabbitmq-server
2.6 防火牆 放行
我們需要開放15672 和5672端口
- 15672是網頁端訪問端口
- 5672是服務連接rabbitmq端口
開放15672端口:
firewall-cmd --permanent --add-port=15672/tcp
開放5672端口:
firewall-cmd --permanent --add-port=5672/tcp
重啓防火牆
firewall-cmd --reload
2.7網頁端訪問地址
http://192.168.132.129:5672/
3 rabbitmq的啓動、關閉、授權
- rabbitmq-server 前臺啓動服務
- rabbitmq-server -detached 後臺啓動服務
- rabbitmqctl stop 停止服務
3.1 後臺啓動服務
rabbitmq-server -detached
出現以下警告信息,暫時互略
Warning: PID file not written; -detached was passed.
查看端口號命令
netstat -tulpn
3.2 關閉後臺服務
rabbitmqctl stop
3.3 遠程授權
rabbitmqctl add_user admin admin123
rabbitmqctl set_user_tags admin administrator
rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"
在網頁上打開rabbitmq客戶端。用戶名爲上面創建的admin密碼 admin123
3.4 常用命令
- 創建用戶
rabbitmqctl add_user {username} {password}
- 刪除用戶
rabbitmqctl delete_user {username}
- 重置密碼
rabbitmqctl change_password {username} {newpassword}
- 授予用戶角色
rabbitmqctl set_user_tegs {username} {tag}
rabbitmq用戶的4種Tag
超級管理員(administrator)可登錄管理控制檯,可查看所有的信息,並且可以對用戶策略進行操作
監控者(monitoring)可登錄管理控制檯,同時可查看rabbitmq節點的信息(進程數,內存的使用情況,磁盤的使用情況)。
策略制定者(policymaker)可登錄管理控制檯,同時可以對policy進行管理,但無法查看節點的相關信息
普通管理者(management)僅可以登錄管理控制檯,無法看到節點信息。也無法對策略進行管理
- 設置用戶允許訪問的vhost
rabbitmqctl set permissions -p / user_admin '.*' '.*' '.*'
後面是三個星分別代表配置權限,讀權限,寫權限
- 查看服務器狀態
rabbitmqctl status
[root@instance-6uz2q7zs rabbitmq]# rabbitmqctl status
Status of node rabbit@instance-6uz2q7zs ...
Error: unable to perform an operation on node 'rabbit@instance-6uz2q7zs'. Please see diagnostics information and suggestions below.
Most common reasons for this are:
* Target node is unreachable (e.g. due to hostname resolution, TCP connection or firewall issues)
* CLI tool fails to authenticate with the server (e.g. due to CLI tool's Erlang cookie not matching that of the server)
* Target node is not running
In addition to the diagnostics info below:
* See the CLI, clustering and networking guides on http://rabbitmq.com/documentation.html to learn more
* Consult server logs on node rabbit@instance-6uz2q7zs
* If target node is configured to use long node names, don't forget to use --longnames with CLI tools
DIAGNOSTICS
===========
attempted to contact: ['rabbit@instance-6uz2q7zs']
rabbit@instance-6uz2q7zs:
* connected to epmd (port 4369) on instance-6uz2q7zs
* epmd reports: node 'rabbit' not running at all
no other nodes on instance-6uz2q7zs
* suggestion: start the node
Current node details:
* node name: 'rabbitmqcli-13892-rabbit@instance-6uz2q7zs'
* effective user's home directory: /var/lib/rabbitmq
* Erlang cookie hash: lBbeLA0IjgouQorLyLnhDQ==
3.5 RabbitMQ掛掉問題處理
https://blog.csdn.net/weixin_30892889/article/details/97582664
使用nohup命令
nohup rabbitmq-server &
使用setsid命令
setsid rabbitmq-server &