Linux
安装环境
RabbitMQ官网、RabbitMQ可用版本、Erlang可用版本
OS: Centos release 6.8
Erlang:otp_src_25.1.1.tar.gz
RabbitMQ:rabbitmq-server-generic-unix-3.10.25.tar.xz
修改yum源
由于Centos6已过期,所以替换为阿里云的centos-vault镜像。
cd /etc/yum.repos.d/
# 备份源
mv CentOS-Base.repo CentOS-Base.repo.backup
# 此处将下载的源文件放入该目录
# ...
# 更新
yum clean all
yum makecache
安装wxWidgets(可选)
# 安装依赖
yum -y install gtk2-devel binutils-devel gcc gcc-c++ bzip2
# 创建目录
mkdir -p /usr/local/wxWidgets
# 进入wxWidgets目录
cd /usr/local/wxWidgets/
# 下载包
wget https://github.com/wxWidgets/wxWidgets/releases/download/v3.1.3/wxWidgets-3.1.3.tar.bz2
# 解压 wxWidgets
tar xf wxWidgets-3.1.3.tar.bz2
# 进入wxWidgets目录
cd wxWidgets-3.1.3/
# 编译wxWidgets
./configure --with-regex=builtin --with-gtk --enable-unicode --disable-shared --prefix=/usr/local/wxWidgets
# 安装,时间很长...
make && make install
# 准备设置其动态库
cd /etc/ld.so.conf.d/
# 创建文件
touch wxWidgets.conf
# 打开文件
vim wxWidgets.conf
# 增加以下内容
/usr/local/lib
# 重新加载动态库配置信息
ldconfig
# 配置wxWidgets环境变量
vim /etc/profile
# 将以下内容存储至profile文件中,保存并退出
export WXPATH=/usr/local/wxWidgets/
export PATH=$WXPATH/bin:$PATH
# 使环境变量刷新并生效
source /etc/profile
# 查看wx版本号
wx-config --version
安装erlang
# 安装依赖
yum install -y epel-release
yum install -y xz make m4 openssl openssl-devel ncurses-devel unixODBC unixODBC-devel java java-devel
# 创建erlang目录
mkdir -p /usr/local/erlang
# 进入erlang目录
cd /usr/local/erlang
# 上传opt_src_25.1.1.tar.gz文件
# ...
# 解压 Erlang
tar xzf otp_src_25.1.1.tar.gz otp_src_25.1.1
# 进入解压目录
cd /usr/local/erlang/otp_src_25.1.1
# 编译
./configure --prefix=/usr/local/erlang
# 安装
make && make install
# 修改环境变量
vim /etc/profile
# 将以下内容存储至profile文件中,保存并退出
export ERLPATH=/usr/local/erlang
export PATH=$ERLPATH/bin:$PATH
# 使环境变量刷新并生效
source /etc/profile
# 验证erlang是否安装成功
erl
安装RabbitMQ
#创建目录
mkdir -p /usr/local/rabbitmq
# 进入目录
cd /usr/local/rabbitmq/
# 上传rabbitmq-server-generic-unix-3.10.25.tar.xz
# ... 此处通过ftp上传,通过rz命令上传解压失败,不知道为啥...
# 解压
xz -d rabbitmq-server-generic-unix-3.10.25.tar.xz
tar -xf rabbitmq-server-generic-unix-3.10.25.tar
# 配置环境变量
vim /etc/profile
# 将以下内容存储至profile文件中,保存并退出
export PATH=$PATH:/usr/local/rabbitmq/rabbitmq_server-3.10.25/sbin
# 刷新环境变量
source /etc/profile
插件
# 查看所有支持的插件
rabbitmq-plugins list
# 开启 web 端管理平台插件
rabbitmq-plugins enable rabbitmq_management
# 开启 mqtt 插件
rabbitmq-plugins enable rabbitmq_mqtt
创建用户并授权
RabbitMQ默认用户名密码为:guest/guest,但是只能本地访问,所以需要创建用户并授权。
# 以后台守护进程启动
rabbitmq-server -detached
# 查看状态,检查是否运行成功
rabbitmqctl status
# 创建用户并授权
rabbitmqctl add_user mqusername mqpassword
rabbitmqctl set_permissions -p / mqusername ".*" ".*" ".*"
rabbitmqctl set_user_tags mqusername administrator
启动/停止
# 正常启动RabbitMQ
rabbitmq-server
# 以后台守护进程启动
rabbitmq-server -detached
# 停止
rabbitmqctl stop
# 查看运行状态
rabbitmqctl status
# 或
rabbitmq-diagnostics status
访问
http://localhost:15672
输入之前创建的用户名密码登录:
配置
配置文件路径
# Linux:
/usr/local/rabbitmq/rabbitmq_server-3.10.25/etc/rabbitmq/
# Windows
C:\Users\Administrator\AppData\Roaming\RabbitMQ
如果该目录下没有配置文件可以创建:rabbitmq.conf 或 advanced.conf
示例:rabbitmq.conf.example advanced.config.example
Windows
下载安装Erlang
下载安装RabbitMQ
以管理员身份依次安装 Erlang、RabbitMQ
配置环境变量
配置完环境变量之后需要重新安装RabbitMQ,否则不生效。
配置cookie文件目录保证Erlang的cookie文件和RabbitMQ的cookie文件使用同一个
Erlang文件目录位置:C:\Windows\System32\config\systemprofile\.erlang.cookie
RabbitMQ文件目录位置:C:\Users\Administrator\.erlang.cookie
用Erlang的cookie覆盖RabbitMQ服务器的cookie,手动拷贝。
cd D:\Base\RabbitMQ\install\rabbitmq_server-3.12.2\sbin
rabbitmq-diagnostics erlang_cookie_sources
rabbitmqctl.bat status
修改完环境变量之后重新安装RabbitMQ:
检查运行状态:
rabbitmq-diagnostics.bat status
停止服务:
rabbitmq-service.bat stop
删除服务:
rabbitmq-service.bat remove
修改环境变量
RABBITMQ_NODENAME=gfz
...
安装服务:
rabbitmq-service.bat install
启动:
rabbitmq-service.bat start
检查运行状态,查看配置是否生效:
执行:rabbitmq-diagnostics.bat status
返回结果:Node name: gfz@WIN-LDTQUV32F8D
开启管理平台插件:
rabbitmq-plugins enable rabbitmq_management
测试访问:
http://localhost:15672
启用MQTT插件
rabbitmq-plugins enable rabbitmq_mqtt
配置MQTT访问用户名、密码
创建用户 mqtt-test/mqtt-test
rabbitmqctl add_user mqtt-test mqtt-test
rabbitmqctl set_permissions -p / mqtt-test ".*" ".*" ".*"
rabbitmqctl set_user_tags mqtt-test management
rabbitmq.conf文件中禁用mqtt匿名登录
mqtt.allow_anonymous = false
重启服务
rabbitmq-service.bat stop
rabbitmq-service.bat start
RabbitMQ 使用 MQTT 时,不支持 QOS2