centos7安裝rabbitmq
官網教程:https://www.rabbitmq.com/install-rpm.html#downloads
官網介紹了兩種安裝方法:
- 安裝使用yum庫中的包(強烈建議此選項)上Cloudsmith.io或PackageCloud
- 下載軟件包並使用rpm安裝它。此選項將需要手動安裝所有軟件包依賴項
這里只介紹第二種方法,下載軟件包通過rpm安裝,軟件包依賴項主要指的是erlang
1、下載erlang安裝包
由於rabbitmq依賴於erlang,所以要先下載安裝erlang,下載安裝的erlang和rabbitmq版本要對應,版本要求可以參考官網:https://www.rabbitmq.com/which-erlang.html
下載erlang地址:https://github.com/rabbitmq/erlang-rpm/releases
安裝包名稱包含el8對應centos8系統,el7對應centos7系統,所以下載時選擇包名帶有el7的
2、下載rabbitmq安裝包
下載地址:https://github.com/rabbitmq/rabbitmq-server/releases
注意與erlang版本對應
將下載的兩個安裝包放到Linux服務器,建議路徑:/usr/local/software(software文件夾需要自己創建)
如果上傳失敗,可能是文件夾權限問題,修改文件夾權限:
chmod 777 /usr/local/software
3、安裝erlang和rabbitmq
rpm -ivh erlang-23.3.4.8-1.el7.x86_64.rpm # 安裝erlang
yum install socat -y # 安裝所需依賴
rpm -ivh rabbitmq-server-3.9.11-1.el7.noarch.rpm # 安裝rabbitmq
rpm默認安裝在/usr/lib目錄下,至此,rabbitmq就安裝完成了
啟動rabbitmq
設置開機啟動
chkconfig rabbitmq-server on
啟動服務
/sbin/service rabbitmq-server start
查看服務狀態
/sbin/service rabbitmq-server status
停止服務
/sbin/service rabbitmq-server stop
如果啟動服務報錯:
Job for rabbitmq-server.service failed because the control process exited with error code. See "systemctl status rabbitmq-server.service" and "journalctl -xe" for details.
參考解決方案:https://blog.csdn.net/fvdfsdafdsafs/article/details/89332506
瀏覽器訪問rabbitmq
此時瀏覽器訪問:http://ip:15672是失敗的,因為沒有安裝rabbitmq的web插件,安裝方法:
rabbitmq-plugins enable rabbitmq_management # 安裝web插件
安裝之前需要把rabbitmq服務停掉,安裝完成重啟rabbitmq服務才能使插件生效
再次訪問,如果還是失敗,可能是服務器防火牆沒有關閉,查看防火牆狀態:
systemctl status firewalld
如果防火牆開啟,則需要關閉防火牆:
systemctl stop firewalld # 關閉防火牆,只對當前有效,系統重啟防火牆還會再次打開
永久關閉防火牆:
systemctl enable firewalld # 系統重啟,防火牆也不會再次打開
此時再次訪問瀏覽器就成功了
創建新用戶
如果是在Linux瀏覽器訪問本地rabbitmq服務,則使用默認賬號(用戶名:guest 密碼:guest)即可登錄成功
如果是在windows瀏覽器訪問,則默認賬號登錄失敗,報錯:
User can only log in via localhost # 默認賬號沒有權限,只能在服務器本地登錄
解決方案:創建一個新用戶,並賦予管理員權限即可遠程登錄
Linux瀏覽器訪問rabbitmq服務,使用默認賬號登錄后可以在圖形化界面創建新用戶,該方法比較簡單,這里介紹通過命令創建新用戶
rabbitmqctl list_users # 查看當前有哪些用戶角色
rabbitmqctl add_user admin 123 # 添加用戶(用戶名:admin 密碼:123)
rabbitmqctl set_user_tags admin administrator # 設置admin用戶角色為administrator(超級管理員)
# 設置用戶權限,模板如下:
# set_permissions [-p <vhostpath>] <user> <conf> <write> <read>
rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*" # admin用戶具有vhostpath為/中所有資源的配置、寫、讀權限
至此,就可以使用新用戶登錄成功了