zoukankan      html  css  js  c++  java
  • RabbitMQ(一)

    RabbitMQ——Linux环境安装配置指南

    Erlang安装

    由于RabbitMQ是基于Erlang开发,所以需要安装Erlang环境,可以到官网上下载安装,也可以使用rpm命令安装:

    yum -y install gcc glibc-devel make ncurses-devel openssl-devel xmlto perl wget #依赖文件安装
    wget http://erlang.org/download/otp_src_20.3.tar.gz  #下载erlang包
    tar -xvf otp_src_20.3.tar.gz
    cd otp_src_20.3/
    ./configure --with-ssl=/opt/ssl/ --prefix=/opt/erlang --without-javac  #安装配置
    make && make install
    

    在/etc/profile下追加:

    ERLANG_HOME=/opt/erlang
    export PATH=$PATH:$ERLANG_HOME/bin
    export ERLANG_HOME
    

    在控制台中输入erl如果进入shell则证明安装成功。

    RabbitMQ安装

    可以使用rpm命令安装,也可以到官网下载源码包安装:

    wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.15/rabbitmq-server-generic-unix-3.6.15.tar.xz
    xz -d rabbitmq-server-generic-unix-3.6.15.tar.xz
    tar -xvf rabbitmq-server-generic-unix-3.6.15.tar  -C /opt
    mv /opt/rabbitmq_server-3.6.15/ /opt/rabbitmq #改个名字
    

    在/etc/profile下追加:

    export PATH=$PATH:/opt/rabbitmq/sbin
    

    执行“source /etc/profile”使更改生效,管理命令如下:

    启动服务:rabbitmq-server -detached #后台运行会提示Warning: PID file not written; -detached was passed.参见[文档](http://www.rabbitmq.com/rabbitmq-server.8.html)
    查看状态:rabbitmqctl status
    关闭服务:rabbitmqctl stop
    列出角色:rabbitmqctl list_users
    

    RabbitMQ配置

    配置网页插件

    mkdir /etc/rabbitmq
    rabbitmqctl start_app
    rabbitmq-plugins enable rabbitmq_management
    

    配置防火墙

    firewall-cmd --permanent --add-port=15672/tcp
    firewall-cmd --permanent --add-port=5672/tcp
    systemctl restart firewalld.service
    

    配置网页插件的时候出错提示缺少“crypto”插件,这个问题是由erlang的crypto与最新的openssl模块不兼容导致的,需要重新安装

    wget http://www.openssl.org/source/openssl-1.0.1f.tar.gz
    tar zxvf openssl-1.0.1f.tar.gz
    cd openssl-1.0.1f
    ./config --prefix=/opt/ssl 
    

    修改Makefile中的CFLAG,加上-fPIC

    CC= gcc    
    CFLAG= -fPIC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -Wa,--noexecstack -m64 -DL_ENDIAN -DTERMIO -O3 -Wall -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM   
    

    继续编译安装:

    make && make install_sw
    

    按照Erlang的安装步骤,重新安装Erlang即可,需要注意的是重新安装时,需要在make install之前先make clean

    make clean
    ./configure --with-ssl=/opt/ssl/ --prefix=/opt/erlang --without-javac
    make && make install
    

    配置管理页帐号及权限用户

    通过IP+15672端口,就可以进入到RabbitMQ的WEB管理页面,这时候会弹出一个登录页,需要我们添加用户权限后才能访问:

    rabbitmqctl add_user admin admin  #添加用户名密码
    rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"  #添加权限
    rabbitmqctl set_user_tags admin administrator  #修改用户角色
    

    登录成功后删除guest user就基本安装完成了,后续补充RabbitMQ集群的配置。

    常见错误

    重启了下电脑,再次启动就悲剧了,报“unable to connect to node rabbit@xxx: nodedown”坑爹错,网上有人说是HOSTName的问题,试了下没啥用,解决方案如下:

    rabbitmq-server stop
    rabbitmq-server start
    

    又重启了一下,又悲剧了,报“erl: 未找到命令”错误,这是一个PATH问题,先通过:

    sudo which erl
    #which: no erl in (/sbin:/bin:/usr/sbin:/usr/bin)
    

    查看到确实没有找到erlang的erl命令,那么重新配置一下好了:

    sudo ln -s /usr/local/bin/erl /usr/bin/erl
    
  • 相关阅读:
    对我影响最大的三位导师
    global与nonlocal
    random模块
    time模块
    datetime模块
    sys模块
    os模块
    collection模块
    hashlib模块
    pickle模块
  • 原文地址:https://www.cnblogs.com/krockey/p/8861994.html
Copyright © 2011-2022 走看看