由於RabbitMQ依賴Erlang, 所以需要先安裝Erlang。
Erlang的安裝方式大概有兩種:
1.從Erlang Solution安裝(推薦)
# 添加erlang solutions源 $ wget https://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm $ sudo rpm -Uvh erlang-solutions-1.0-1.noarch.rpm $ sudo yum install erlang
2.從EPEL來源安裝(這種方式安裝的Erlang版本可能不是最新的,有時候無法滿足RabbitMQ所需的最低版本)
# 启动EPEL源 $ sudo yum install epel-release # 安装erlang $ sudo yum install erlang
完成後安裝RabbitMQ:
先下載rpm:
wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.6/rabbitmq-server-3.6.6-1.el7.noarch.rpm
下載完成後安裝:
yum install rabbitmq-server-3.6.6-1.el7.noarch.rpm
安裝時如果遇到下面的依賴錯誤
Error: Package: socat-1.7.2.3-1.el6.x86_64 (epel) Requires: libreadline.so.5()(64bit)
可以嘗試先執行
$ sudo yum install socat
$ sudo chkconfig rabbitmq-server on # 添加开机启动RabbitMQ服务$ sudo /sbin/service rabbitmq-server start # 启动服务$ sudo /sbin/service rabbitmq-server status # 查看服务状态$ sudo /sbin/service rabbitmq-server stop # 停止服务# 查看当前所有用户$ sudo rabbitmqctl list_users# 查看默认guest用户的权限$ sudo rabbitmqctl list_user_permissions guest# 由于RabbitMQ默认的账号用户名和密码都是guest。为了安全起见, 先删掉默认用户$ sudo rabbitmqctl delete_user guest# 添加新用户$ sudo rabbitmqctl add_user username password# 设置用户tag$ sudo rabbitmqctl set_user_tags username administrator# 赋予用户默认vhost的全部操作权限$ sudo rabbitmqctl set_permissions -p / username ".*" ".*" ".*"# 查看用户的权限$ sudo rabbitmqctl list_user_permissions username
如果只從命令列操作RabbitMQ,多少有點不方便。幸好RabbitMQ自備了web管理介面,只需要啟動插件便可以使用。
$ sudo rabbitmq-plugins enable rabbitmq_management
然後透過瀏覽器存取
http://localhost:15672
輸入使用者名稱和密碼存取web管理介面了。
關於RabbitMQ的配置,可以下載RabbitMQ的
設定檔模板
到/etc/rabbitmq/rabbitmq.config, 然後按照需求更改即可。
更新配置後,別忘了重啟服務哦!
預設情況下,RabbitMQ的預設的guest用戶只允許本機訪問, 如果想讓guest用戶能夠遠端存取的話,只需要將設定檔中的loopback_users清單置為空即可,如下:
{loopback_users, []}
另外關於新新增的用戶,直接就可以從遠端存取的,如果想讓新添加的用戶只能本地訪問,可以將用戶名添加到上面的列表, 如只允許admin用戶本機訪問。
{loopback_users, ["admin"]}
更新配置後,別忘了重啟服務哦!
sudo /sbin/service rabbitmq-server status # 查看服务状态
這裡可以看到log檔案的位置,轉到檔案位置,開啟檔案:
#這裡顯示的是沒有找到配置文件,我們可以自己創建這個文件
cd /etc/rabbitmq/ vi rabbitmq.config
編輯內容如下:
[{rabbit, [{loopback_users, []}]}].
這裡的意思是開放使用,rabbitmq預設創建的用戶guest,密碼也是guest,這個用戶預設只能是本機訪問,localhost或127.0.0.1,從外部訪問需要添加上面的配置。
儲存設定後重啟服務:
service rabbitmq-server stopservice rabbitmq-server start
此時就可以從外部存取了,但此時再看log文件,發現內容還是原來的,還是顯示沒有找到設定文件,可以手動刪除這個檔案再重啟服務,不過這不影響使用
rm rabbit\@mythsky.log service rabbitmq-server stopservice rabbitmq-server start
注意:記得要開放5672和15672埠
以上是Linux怎麼安裝RabbitMQ的詳細內容。更多資訊請關注PHP中文網其他相關文章!