• 编译安装Erlang+RabbitMQ


    楔子

    由于国内信创越来越火,客户现场也开始使用国产操作系统替换CentOS之类的开源操作系统,最近做实施的同事找到我,说现场是ARM架构的操作系统编译安装RabbitMQ一直提示无法启动也没有日志文件生成,找过了好几个同事都没解决这才找到我。我就在这里记录下安装步骤及碰到的问题与解决办法。

    环境说明

    名称 版本
    麒麟操作系统 V10系统 飞腾版 ARM 64位架构
    Linux内核 4.19.90-24.4.v2101.ky10.aarch64
    Erlang 24.2
    RabbitMQ 3.9.1 unix通用版本

    安装基础编译环境

    yum -y install gcc glibc-devel make ncurses-devel openssl-devel xmlto perl gtk2-devel binutils-devel

    安装Erlang

    # 解压erlang源码包到/usr/local/otp_src_24.2
    tar -zxvf otp_src_24.2.tar.gz -C /usr/local
    # 进入erlang源码编译目录
    cd /usr/local/otp_src_24.2/
    # 创建安装目录
    mkdir /usr/local/erlang
    # 检查编译环境,设置安装目录
    ./configure --prefix=/usr/local/erlang
    # 编译 & 安装
    make
    make install
    # 将编译安装的erlang加入环境变量,并使之生效(无需进入目录即可执行)
    echo 'export PATH=$PATH:/usr/local/erlang/bin' >> /etc/profile
    source /etc/profile
    # 查看是否安装成功
    erl -version

    安装RabbitMQ

    # 解压rabbitmq安装包
    tar -xvf rabbitmq-server-generic-unix-3.9.1.tar.xz
    # 移动rabbitmq目录到/usr/local/rabbitmq
    mv rabbitmq-server-generic-unix-3.9.1 /usr/local/rabbitmq
    # 将rabbitmq加入环境变量,并使之生效(无需进入目录即可执行)
    echo 'export PATH=$PATH:/usr/local/rabbitmq/sbin' >> /etc/profile
    source /etc/profile

    启动RabbitMQ

    # 后台启动
    rabbitmq-server -detached
    # 查看状态
    rabbitmqctl status
    # 启用管理插件
    rabbitmq-plugins enable rabbitmq_management

    初始化用户

    # 添加用户 用户名admin 密码123456 ,密码可以自己指定
    rabbitmqctl add_user admin 123456
    # 给budget分配vhost
    rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"
    # 分配管理权限
    rabbitmqctl set_user_tags admin administrator
    # 重启rabbitmq
    rabbitmqctl stop && rabbitmq-server -detached

    重启后访问 15672 端口进入Web管理界面,安装与初始化部署到这里就结束了,下边记录些错误情况

    遇到的问题

    执行 rabbitmq-server 报如下错误:

    {"init terminating in do_boot",{error,{crypto,{"no such file or directory","crypto.app"}}}}
    init terminating in do_boot ({error,{crypto,{no such file or directory,crypto.app}}})

    提示crypto库找不到,原因是在编译Erlang时crypto依赖的openssl库没找到。

    解决办法:安装 openssll、openssl-devel,重新编译安装

    yum install -y openssl openssl-devel
    cd
    make clean
    ./configure --prefix=/usr/local/erlang
    make
    make install

    这个错误有参考价值,就拿过来记录下。虽然我在操作时也提示是这个问题,但并不是我编译安装的位置提示出来的!之前几个同事编译时未安装openssl,编译出有问题的Erlang并放到了环境变量很靠前的位置,导致我编译正确的Erlang没被执行。。所以在这里我推荐大家编译安装后用which查一下你的命令是从哪响应的。

    参考:

  • 相关阅读:
    如何压缩jpg图片的大小?可以一键压缩图片的软件有哪些?
    声学成像仪在测试放电方面有哪些具体应用?
    打开MySQL数据库
    Linux资源限制命令—ulimit
    Word控件Spire.Doc 【文本】教程(16) ;在 Word 中将文本大小写更改为全部大写
    一台电脑安装多个不同版本Python
    CVL网卡的ADQ特性在SPDK的NVMF测试中的应用实例 - 上篇
    基于微信小程序的付费自习室
    PMP考点有哪些啊?
    银联扫码支付及静态码回调验签
  • 原文地址:https://www.cnblogs.com/hellxz/p/16697267.html