【Linux-Centos7】安装 RabbitMQ
admin
2024-05-04 17:51:07
0

环境

Centos7 64 系统 Linux

编译安装

  1. 下载
  • 下载rabbitmq-server-generic-unix-3.11.5.tar.xz
    • 或者查看github
  • 选择版本Erlang(https://rabbitmq.com/which-erlang.html)
  • 下载Erlang源码 25.2
    • 下载wxwidgets

将下载的包放到/opt/rabbitmq-server

  1. a1) 安装wxwidgets
    编译安装Erlang的前提,需要编译安装wxwidgets
# [下载wxwidgets](http://www.wxwidgets.org/downloads/)
# 解压
bzip2 -dkv wxWidgets-3.2.1.tar.bz2
tar -xvf wxWidgets-3.2.1.tar
# unzip wxWidgets-3.2.1.zip # 或者
yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel unixODBC unixODBC-devel java-devel
# Erlang: No OpenGL headers found, wx will NOT be usable
yum install mesa* --skip-broken
yum install freeglut*
# 需要安装GTK+: yum install *gtk*或 yum install *gtk* --skip-broken
yum install *gtk*# 配置
cd /opt/rabbitmq-server/wxWidgets-3.2.1
./configure --with-gtk=3 --with-opengl --enable-debug --enable-unicode
# 编译&安装(时间有点长)
make && make install
# install path: /usr/local/include/wx-3.2# 测试
wx-config
  1. a2) 安装Erlang

# 解压
tar -zxvf otp_src_25.2.tar.gz
cd /opt/rabbitmq-server/otp_src_25.2
# 配置
./configure --prefix=/usr/local/erlang
# 出现如下信息,即说明配置成功
#*********************************************************************
#**********************  APPLICATIONS INFORMATION  *******************
#*********************************************************************
#
#erts           : 
#                 JIT disabled due to lack of compiler with C++17 support
#
#*********************************************************************
#*********************************************************************
#**********************  DOCUMENTATION INFORMATION  ******************
#*********************************************************************
#
#documentation  : 
#                 fop is missing.
#                 Using fakefop to generate placeholder PDF files.# 编译&安装
make -j && make install
# install path: /usr/local/erlang/bin
  1. a3) 安装 rabbitmq-server
    安装位置: /usr/local/rabbitmq
    日志位置: /usr/local/rabbitmq/var/log
yum install libtool libtool-ltdl-devel libevent-devel lua  ncurses-devel openssl-devel flexxz -d rabbitmq-server-generic-unix-3.11.5.tar.xz
tar xf rabbitmq-server-generic-unix-3.11.5.tar
mv rabbitmq_server-3.11.5 /usr/local/rabbitmq# 配置环境变量
vim /etc/profile
PATH=$PATH:/usr/local/erlang/bin
PATH=$PATH:/usr/local/rabbitmq/sbin
source /etc/profile

PROBLEM:rabbitmq no such file or directory “crypto.app”
下载 https://github.com/openssl/openssl/tags 选择 OpenSSL_1_1_1q
将下载的 openssl-OpenSSL_1_1_1j.tar.gz

tar -xzvf openssl-OpenSSL_1_1_1j.tar.gz
cd /opt/rabbitmq-server/openssl-OpenSSL_1_1_1j
# 配置
./config shared
# 编译安装
make && make install
# ----------------------- Erlang Rebuild -----------------------
cd /opt/rabbitmq-server/otp_src_25.2
make clean
# 配置
./configure --prefix=/usr/local/erlang
# 编译安装
make -j && make install
# 测试
elr
> crypto:start()

PROBLEM:warning: the VM is running with native name encoding of latin1 which may cause Elixir to malfunction as it expects utf8. Please ensure your locale is set to UTF-8 (which can be verified by running “locale” in your shell)

vim /etc/profile
# 末尾添加
export LC_ALL=en_US.UTF-8
source /etc/profile

PROBLEM:Error: unable to perform an operation on node ‘rabbit@HOST-NAME’. Please see diagnostics information and suggestions below.

vim /etc/hosts
# IP 本机名称
xxx.xxx.xxx.xxx HOST-NAME

  1. 启动RabbitMQ服务
# 前台启动
rabbitmq-server
# 后台启动
rabbitmq-server -detached
# 查看服务状态
rabbitmqctl status
  1. 关闭RabbitMQ服务
rabbitmqctl stop
  1. 启动管理端(添加用户)插件
# 开启web管理界面
rabbitmq-plugins enable rabbitmq_management
# 检查所有插件的启用和禁用状态
# rabbitmq-plugins list
rabbitmqctl add_user admin '123456'
rabbitmqctl set_user_tags admin administrator
rabbitmqctl set_permissions -p / admin '.*' '.*' '.*'
# 重启
rabbitmqctl stop
rabbitmq-server -detached
  1. 开放服务器端口
firewall-cmd --zone=public --add-port=15672/tcp --permanent
firewall-cmd --zone=public --add-port=5672/tcp --permanent
firewall-cmd --reload
  1. 测试
curl http://127.0.0.1:15672
curl http://IP:15672
  1. 设置开机启动
  • /usr/local/rabbitmq/sbin/rabbitmq-server/usr/local/rabbitmq/sbin/rabbitmq-env 备份
  • rabbitmq-server、rabbitmq-env拷贝到对应的服务器上
    • 或者修改原先脚本,在脚本头加入 ERLANG_HOME=/usr/local/erlang/bin;将erl修改成$ERLANG_HOME/erl
  • 进入目录 cd /usr/lib/systemd/system
  • 将文件拷贝到对应的服务器上
  • 重新加载服务 systemctl daemon-reload
  • 设置为开机启动 systemctl enable rabbitmq.service
  • 查看是否已开机启动 systemctl is-enabled rabbitmq.service
  • 查看服务状态 systemctl status rabbitmq.service
  • 启用服务 systemctl enable rabbitmq.service
  • 启动服务 systemctl start rabbitmq.service
  • 停止服务 systemctl stop rabbitmq.service

附录

参考

  • install-generic-unix
  • rabbitmq config
  • RabbitMQ超详细安装教程(Linux)
  • 参考
  • 填坑参考
  • 填坑参考
  • 填坑 unable to perform an operation
  • 填坑 the VM is running with native name encoding of latin1 which may
  • 依赖 openssl

相关内容

热门资讯

《饥荒》海难虎鲨渡渡鸟与黑曜石... 第1页:渡渡鸟属性特点及掉落展开《饥荒》海难大家有没有非常了解虎鲨与渡渡鸟还有黑曜石科技呢?今天就为...
《饥荒》黑暗英雄圣骑士玩法解说... 第1页:第一期-路遇哥布林展开《饥荒》黑暗英雄圣骑士出生自带圣剑,且能使用盾牌属性也高,非常适合新手...
2026年热门魔法少女手游推荐... 聚焦魔法少女题材的精品手游推荐,涵盖多元风格与玩法机制,满足不同玩家偏好。以下整理了当前热门且具备代...
《极限竞速:地平线5》无法启动... 《极限竞速:地平线5》启动失败、点击无响应?不少玩家反馈,满怀期待打开游戏,却卡在启动界面毫无反应,...
2026热门三人手游推荐:适合... 不少玩家偏好多人协作的游戏体验,尤其在面对复杂谜题或高难度挑战时,单人闯关容易陷入瓶颈。三人及以上联...
2026热门四人小游戏推荐:轻... 适合四人同乐的小游戏有哪些?既要节奏明快、即开即玩,又能兼顾竞技趣味与社交松弛感——无需复杂教程、不...
2026高人气沙盘模拟手游推荐... 沙盘策略类游戏以高度还原的历史战争为内核,涵盖三国时期与欧陆近代等经典战事场景。玩家将化身统帅,在动...
天堂2盟约兑换码大全及新手入门... 如果你热衷于多人协作的开放世界冒险体验,《天堂2:盟约》这款由经典端游IP深度还原的手游作品,值得重...
2026年热门免费单机象棋游戏... 单机象棋下载合集上线。本专题精选多款本地运行、无需联网的中国象棋游戏,内置多层级AI对战系统,涵盖入...
奇迹MU闪退问题解决方法及稳定... 各位奇迹MU玩家请注意!当您满怀期待登录勇者大陆,准备与公会战友联手挑战终极BOSS昆顿,或奔赴亚特...