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)