VM虛擬機centos7 rabbitmq3.8 安裝
1、rabbitmq 安裝
#安裝依賴項
yum install -y gcc gcc-c++ glibc-devel make ncurses-devel openssl-devel autoconf java-1.8.0-openjdk-devel git
1.1 erlang安裝
erlang與rabbitmq 版本對應 參見 官網 https://www.rabbitmq.com/which-erlang.html
安裝erlang 以下方案二選一,不同centos的系統還是的參見官網這裏是centos 7的
詳見官網說明 https://github.com/rabbitmq/erlang-rpm (這個時效性能比較強 參考一下就行,誰知道官網啥時候又更新新版本了)
1.1.1 安裝erlang方案一:
#編輯該文件
vi /etc/yum.repos.d/rabbitmq_erlang.repo
#文件內容修改如下:
# In /etc/yum.repos.d/rabbitmq_erlang.repo
[rabbitmq_erlang]
name=rabbitmq_erlang
baseurl=https://packagecloud.io/rabbitmq/erlang/el/7/$basearch
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/rabbitmq/erlang/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
[rabbitmq_erlang-source]
name=rabbitmq_erlang-source
baseurl=https://packagecloud.io/rabbitmq/erlang/el/7/SRPMS
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/rabbitmq/erlang/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
執行安裝
yum install erlang
1.1.2 安裝erlang方案二:
#編輯該文件
vi /etc/yum.repos.d/rabbitmq-erlang.repo
#文件內容修改如下:
# In /etc/yum.repos.d/rabbitmq-erlang.repo
[rabbitmq-erlang]
name=rabbitmq-erlang
baseurl=https://dl.bintray.com/rabbitmq-erlang/rpm/erlang/22/el/7
gpgcheck=1
gpgkey=https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc
repo_gpgcheck=0
enabled=1
執行安裝
yum install erlang
1.2 rabbaitmq 安裝
#安裝socat
yum -y install socat
#下載rabbitmq
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.0/rabbitmq-server-3.8.0-1.el6.noarch.rpm
#安裝rabbitmq
rpm -ivh rabbitmq-server-3.8.0-1.el6.noarch.rpm
#試運行rabbitmq
rabbitmq-server
1.3 錯誤
如報以下錯誤,
ERROR: epmd error for host “192”:badarg (unknown POSIX error)
修改
vi /etc/rabbitmq/rabbitmq-env.conf
追加如下配置:
NODENAME=rabbit@localhost
1.3 啓動服務及自動運行
#啓動服務
systemctl start rabbitmq-server
#查看服務狀態
systemctl status rabbitmq-server
#重啓服務
systemctl restart rabbitmq-server
#設置爲開機啓動
systemctl enable rabbitmq-server
1.4 安裝web管理插件
rabbitmq-plugins enable rabbitmq_management
1.5 添加防火牆端口
#添加端口
firewall-cmd --add-port=5672/tcp --permanent
firewall-cmd --add-port=15672/tcp --permanent
#重新加載配置
firewall-cmd --reload
# 防火牆啓動關閉
systemctl start firewalld.service
systemctl stop firewalld.service
systemctl enable firewalld.service
# 查看防火牆端口列表
firewall-cmd --permanent --list-port
1.5.1 錯誤
出現錯誤執行 systemctl unmask firewalld 即可
#執行命令,即可實現取消服務的鎖定
systemctl unmask firewalld
#下次需要鎖定該服務時執行
systemctl mask firewalld
1.6 web管理插件訪問地址
自己機器的ip地址加端口
http://192.168.100.100:15672/
用戶名:guest
密碼:guest
1.7 添加用戶
#添加用戶 用戶名 admin 密碼 admin web管理工具可用此用戶登錄
sudo rabbitmqctl add_user admin admin
#設置用戶角色 管理員
sudo rabbitmqctl set_user_tags admin administrator
#tag(administrator,monitoring,policymaker,management)
#設置用戶權限(接受來自所有Host的所有操作)
sudo rabbitmqctl set_permissions -p "/" admin '.*' '.*' '.*'
#查看用戶權限
sudo rabbitmqctl list_user_permissions admin
1.8 遠程訪問
修改 rabbitmq.config
vi /etc/rabbitmq/rabbitmq.config
#保存以下配置()
[
{rabbit, [{tcp_listeners, [5672]}, {loopback_users, ["admin"]}]}
].
1.9 常用命令
# 添加用戶
sudo rabbitmqctl add_user <username> <password>
# 刪除用戶
sudo rabbitmqctl delete_user <username>
# 修改用戶密碼
sudo rabbitmqctl change_password <username> <newpassword>
# 清除用戶密碼(該用戶將不能使用密碼登陸,但是可以通過SASL登陸如果配置了SASL認證)
sudo rabbitmqctl clear_password <username>
# 設置用戶tags(相當於角色,包含administrator,monitoring,policymaker,management)
sudo rabbitmqctl set_user_tags <username> <tag>
# 列出所有用戶
sudo rabbitmqctl list_users
# 創建一個vhosts
sudo rabbitmqctl add_vhost <vhostpath>
# 刪除一個vhosts
sudo rabbitmqctl delete_vhost <vhostpath>
# 列出vhosts
sudo rabbitmqctl list_vhosts [<vhostinfoitem> ...]
# 針對一個vhosts給用戶賦予相關權限;
sudo rabbitmqctl set_permissions [-p <vhostpath>] <user> <conf> <write> <read>
# 清除一個用戶對vhosts的權限;
sudo rabbitmqctl clear_permissions [-p <vhostpath>] <username>
# 列出哪些用戶可以訪問該vhosts;
sudo rabbitmqctl list_permissions [-p <vhostpath>]
# 列出用戶訪問權限;
sudo rabbitmqctl list_user_permissions <username>
2.0 其它
其它配置參考