一、RabbitMQ与Erlang
由于RabbitMQ是基于Erlang语言开发,所以在安装RabbitMQ之前,需要先安装Erlang
在安装 RabbitMQ 的时候需要注意 RabbitMQ 和 Erlang 的版本关系,如果版本不匹配会出错
二、安装包下载
这俩安装包的下载速度都很慢,可以利用网盘的离线下载,速度快
-
或者从我的网盘中直接提取
-
将安装包上传到服务器
三、安装Erlang
-
解压 erlang 安装包
[root@server-24 data]# tar -xvzf /rabbitmq/otp_src_23.3.tar.gz
-
编译安装Erlang对环境有要求,需要安装 Erlang的依赖工具
[root@server-24 data]# yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel unixODBC-devel
- 进入erlang 安装包解压文件对 erlang 进行安装环境的配置
-
新建erlang文件夹
[root@server-24 data]# mkdir erlang
对 erlang 进行安装环境的配置
[root@server-24 data]# cd otp_src_23.3/
[root@server-24 otp_src_23.3]# ./configure --prefix=/data/erlang --without-javac
-
编译安装
[root@server-24 otp_src_23.3]# make && make install
此时遇到了错...日志如下
./configure: line 4640: wx-config: command not found
configure: WARNING:
wxWidgets must be installed on your system.
解决方案:
[root@server-24 otp_src_23.3]# yum install wxWidgets-devel
[root@server-24 otp_src_23.3]# yum install wxBase #for /usr/bin/wx-config-3.0
[root@server-24 otp_src_23.3]# cd /usr/bin; ln -s wx-config-3.0 wx-config
- 验证一下 erlang 是否安装成功了
[root@server-24 otp_src_23.3]# ./bin/erl
- 运行下面的语句输出“hello world”
io:format("hello world~n", []).
- erlang 已经安装完成。
-
配置 erlang 环境变量
[root@server-24 otp_src_23.3]# cd / [root@server-24 /]# vim etc/profile
-
追加下列环境变量到文件末尾
#erlang ERL_HOME=/data/erlang PATH=$ERL_HOME/bin:$PATH export ERL_HOME PATH
-
运行下列命令使配置文件profile生效
[root@server-24 /]# source /etc/profile
-
输入 erl 查看 erlang 环境变量是否配置正确
[root@server-24 /]# erl
四、安装 RabbitMQ
-
导入秘钥
[root@server-24 rabbitmq]# rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc
-
安装rpm包
[root@server-24 rabbitmq]# rpm -i rabbitmq-server-3.8.14-1.el7.noarch.rpm
此时遇到了版本不匹配问题...
虽然是按要求安装的匹配版本的Erlang但是不知道为何还报错
百度后,可以忽略依赖,执行以下命令
[root@server-24 rabbitmq]# rpm -i --nodeps rabbitmq-server-3.8.14-1.el7.noarch.rpm
- 安装成功了
- 操作RabbitMQ
- 启动服务
[root@server-24 /]# service rabbitmq-server start
启动服务报错
[root@server-24 /]# service rabbitmq-server start
Redirecting to /bin/systemctl start rabbitmq-server.service
Job for rabbitmq-server.service failed because the control process exited with error code. See "systemctl status rabbitmq-server.service" and "journalctl -xe" for details.
是因为环境变量不同,导致无法找到相应命令,按照指引将erlang的erl软连接到/usr/bin目录下
[root@server-24 rabbitmq]# ln -s /data/erlang/bin/erl /usr/bin/erl
再次启动执行成功
- 添加RabbitMQ服务到系统启动中
[root@server-24 rabbitmq]# chkconfig rabbitmq-server on
- 查看哪些命令可以使用
service rabbitmq-server etc
- 停止服务
service rabbitmq-server stop
- 查看服务状态
service rabbitmq-server status
- 配置账号
- 开启web插件
[root@server-24 rabbitmq]# rabbitmq-plugins enable rabbitmq_management
- 重启服务
[root@server-24 rabbitmq]# service rabbitmq-server restart
- 创建账号
[root@server-24 rabbitmq]# rabbitmqctl add_user admin Admin#123
- 分配角色
[root@server-24 rabbitmq]# rabbitmqctl set_user_tags admin administrator
- 设置远程连接权限
rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"
- 访问网页端RabbitMQ控制台