1. 程式人生 > >rabbitmq的萬能安裝和外網訪問(NC版)

rabbitmq的萬能安裝和外網訪問(NC版)

comm art 現在 測試環境 start tab one yum 數據庫

先去這個http://www.rabbitmq.com/releases/下載erlang環境和rpm(erlang的盡量高點,rabbitmq版本差不多就可以了,)

erlang-19.0.4-1.el6.x86_64

rabbitmq-server-3.6.10-1.el6.noarch

註意centos6和centos7是不同的

要看他的版本el6還是el7

yum install erlang-19.0.4-1.el6.x86_64

選擇 y

然後安裝

rpm --import http://www.rabbitmq.com/rabbitmq-signing-key-public.asc

然後

yum install rabbitmq-server-3.6.10-1.el6.noarch

啟動rabbitmq

service rabbitmq-server start 或者 /etc/init.d/rabbitmq-server start

service rabbitmq-server stop

service rabbitmq-server restart

啟用RabbitMQWeb管理插件

rabbitmq-plugins enable rabbitmq_management

出於安全的考慮,guest這個默認的用戶只能通過http://localhost:15672 來登錄,其他的IP無法直接使用這個賬號。 這對於服務器上沒有安裝桌面的情況是無法管理維護的,除非通過在前面添加一層代理向外提供服務,這個又有些麻煩了,這裏通過配置文件來實現這個功能

只要編輯 /etc/rabbitmq/rabbitmq.config 文件,添加以下配置就可以了。

[
{rabbit, [{tcp_listeners, [5672]}, {loopback_users, ["admin"]}]}
].

現在添加了一個新授權用戶admin,可以通過外網使用這個用戶名和密碼訪問.(記得要先用命令添加這個命令才行, #rabbitmqctl add_user admin admin)我是通過在管理平臺裏直接添加的用戶和密碼的,我的測試環境裝有桌面的。

1 # rabbitmqctl add_user admin admin
1 2 3 4 # rabbitmqctl list_users Listingusers... admin guest [administrator]

Setting permissions for user "admin" in vhost "/" ...

1 # rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"
1 2 3 4 # rabbitmqctl list_permissions -p / Listing permissions invhost"/"... admin .* .* .* guest .* .* .*

可以看到添加用戶成功了,但不是administrator角色,這裏我們也將asdf用戶設置為administrator角色.

1 2 3 4 5 6 7 # rabbitmqctl set_user_tags admin administrator Setting tags foruser"admin"to [administrator] .. # rabbitmqctl list_users Listingusers... admin [administrator] guest [administrator]

在docker環境中配置rabbitmq時

rabbitmq的數據庫名稱規則是,NODENAME@hostname,docker每次從docker image啟動容器的時候會自動生成hostname,這樣一來,你保存在主機上的數據庫就會沒用了,包括之前創建的用戶也會沒有了。所以在創建容器的時候必須指定--hostname=rabbitmqhostone,這樣docker環境啟動後rabbitmq就會一直讀取固定目錄中的數據了

rabbitmq的萬能安裝和外網訪問(NC版)