0、0 直接看項目的例子
https://github.com/lamyamy/ray.git
(RabbitMQ direct/topic/fanout三種模式的例子源碼)
todo:?異步發送郵件?
一、CentOS安裝與啟動RabbitMQ
參考:
https://www.linuxidc.com/Linux/2018-01/150600.htm
https://blog.csdn.net/liudihedy/article/details/74059069
1、安裝epel
# rpm -ivh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
安裝erlang運行環境
# yum install erlang
2、安裝rabbitmq server
# rpm --import http://www.rabbitmq.com/rabbitmq-signing-key-public.asc
# rpm -ivh http://www.rabbitmq.com/releases/rabbitmq-server/v3.0.0/rabbitmq-server-3.0.0-1.noarch.rpm
3、打開server
# chkconfig rabbitmq-server on
# rabbitmqctl status
4、可能會報異常:
# rabbitmqctl status
Status of node rabbit@devnote ...
Error: unable to connect to node rabbit@devnote: nodedown
DIAGNOSTICS
===========
nodes in question: [rabbit@devnote]
hosts, their running nodes and ports:
- devnote: [{rabbitmqctl24923,51045}]
current node details:
- node name: rabbitmqctl24923@devnote
- home dir: /var/lib/rabbitmq
- cookie hash: TblHThacrBHJzl5Vt7Y4Ww==
執行命令:
# /sbin/service rabbitmq-server stop
# /sbin/service rabbitmq-server start
# rabbitmqctl status 測試正確
查看所有隊列信息
# rabbitmqctl list_queues
關閉應用
# rabbitmqctl stop_app
啟動應用,和上述關閉命令配合使用,達到清空隊列的目的
# rabbitmqctl start_app
清除所有隊列
# rabbitmqctl reset
更多用法及參數,可以執行如下命令查看
# rabbitmqctl
---------------------------------------------------------------------------------------------------------------------------
#一些命令
rabbitmqctl reset????????????#還原
rabbitmqctl stop_app????#關閉
rabbitmqctl start_app? ? #啟動
rabbitmqctl.bat add_user username password????#添加用戶,設置用戶和密碼
rabbitmqctl.bat set_permissions -p / username ".*" ".*" ".*" ????#設置權限
rabbitmqctl list_users? ? ????????????????????????????????????????????????????????????#查看用戶
net stop RabbitMQ && net start RabbitMQ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #停止并重啟
rabbitmqctl.bat set_user_tags? ? username administrator????????#設置管理員
rabbitmqctl add_vhost /myhostname? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? # 添加
rabbitmqctl set_permissions -p /myhostname?username ".*" ".*" ".*"? ? # vhost 設置權限
---------------------------------------------------------------------------------------------------------------------------
端口占用時注意檢查
Erlang端口4369未開放
默認端口說明
管理口15672
Erlang發現口:4369
server間內部通信口25672
client端通信口5672
1.修改tcp端口號
安裝目錄下的conf/activemq.xml
2.修改管理頁面的訪問端口號
安裝目錄下的conf/jetty.xml
ActiveMQ默認用戶名和密碼:用戶名:admin? 密碼:admin
可以在/conf/users.properties中尋找
---------------------------------------------------------------------------------------------------------------------------
參考
https://www.colabug.com/2412989.html
http://blog.51cto.com/rainbird/525523
---------------------------------------------------------------------------------------------------------------------------
二、Windows上安裝Rabbit(搬運自csdn,實測已經成功)
Rabbit MQ 是建立在強大的Erlang OTP平臺上,因此安裝Rabbit MQ的前提是安裝Erlang。通過下面兩個連接可以下載安裝最新的版本:
下載并安裝?Eralng OTP For Windows?otp_win64_18.3.exe(erlang的環境)
運行安裝Rabbit MQ Server Windows Installer?(v3.6.1)?? rabbitmq-server-3.6.1.exe
具體的安裝以上兩個exe文件的步驟可以參考:http://jingyan.baidu.com/article/a17d5285173ce68098c8f2e5.html
[去看教程](http://jingyan.baidu.com/article/a17d5285173ce68098c8f2e5.html)
安裝成功后,可以通過dos命令來查看是否真的安裝成功且正常啟動,因此cmd后輸入以下命令:
失敗的話可以去看日志,日志默認位置:
C:\Users\%userProfile%\AppData\Roaming\RabbitMQ
-- 定位到rabbitmq的安裝路徑:
打開命令行命令行,進入RabbitMQ的安裝目錄: cd rabbitmq_server-3.5.2\sbin
,輸入 rabbitmqctl?status
-- 上述命令回車后接著輸入rabbitmqctl status,回車后出現下面一坨的即說明安裝沒有問題:
-- 接下來我們需要安裝 RabbitMQWeb的管理插件,接著上面繼續輸入以下命令(
rabbitmq-plugins enable rabbitmq_management),回車后可以到以下輸出:
-- 此時,已經可以通過?http://127.0.0.1:15672/ 地址來訪問web管理界面了,默認的賬戶和密碼均是 guest。但實際使用時可能需要重新一個新的管理賬戶。下面即繼續通過命令來創建新的賬戶并且授予管理員的權限:
-- ?查看默認的賬戶列表信息(輸入:rabbitmqctl,bat list_users):
-- ?新建賬戶:
rabbitmqctl.bat add_user test?test
-- 授予管理員權限(輸入:rabbitmqctl.bat set_permissions -p /? test".*" ".*" ".*"):
-- 至此安裝過程均已完成,下面就可以使用剛創建的賬戶登錄進行管理了
注意新創建的用戶加入合適的權限方可訪問管理頁面
rabbitmqctl.bat set_user_tags test management
[參考](https://blog.csdn.net/qq_35781732/article/details/79807160)