erlang与rabbitmq版本对应关系:
https://www.rabbitmq.com/which-erlang.html

1、 全源码安装RabbitMQ

安装erlang

下载地址:
http://www.erlang.org/downloads

安装依赖yum install -y gcc gcc-c++ ncurses ncurses-base ncurses-devel ncurses-libs ncurses-static ncurses-term ocaml-curses ocaml-curses-devel zlib-devel openssl-devel perl xz xmlto kernel-devel m4 glibc-devel  socat make  下载cd /usr/local/src/wget -c http://erlang.org/download/otp_src_20.2.tar.gz.解压tar -zxvf otp_src_20.2.tar.gz.编译
cd /usr/local/src/otp_src_20.2/
./configure --prefix=/usr/local/erlang.安装
cd /usr/local/src/otp_src_20.2/
make && make install.测试安装是否成功
cd /usr/local/erlang/bin/
./erl
输入 halt().  退出控制台.配置环境变量
vim /etc/profile
#erlang
export PATH=$PATH:/usr/local/erlang/bin
#生效环境变量
source /etc/profile
任意地方输入erl能进入命令行, 那么就说明配置成功了。

安装rabbitmq

下载地址:
http://www.rabbitmq.com/releases/rabbitmq-server

.下载cd /usr/local/src/wget -c http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.15/rabbitmq-server-generic-unix-3.6.15.tar.xz.解压cd /usr/local/src/xz -d rabbitmq-server-generic-unix-3.6.15.tar.xz tar -xvf rabbitmq-server-generic-unix-3.6.15.tarmv /usr/local/src/rabbitmq_server-3.6.15  /usr/local/.配置环境变量
vim /etc/profile
#rabbitmq
export PATH=$PATH:/usr/local/rabbitmq_server-3.6.15/sbin
source /etc/profile.启动后台管理
rabbitmq-plugins enable rabbitmq_management.启动
rabbitmq-server -detached.查看状态
rabbitmqctl status.创建一个用户,账号admin 密码admin
rabbitmqctl add_user admin admin2.将admin用户赋管理员权限
rabbitmqctl set_user_tags admin administrator
rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*".访问管理页面,默认为端口15672
#默认来宾用户:guest, 来宾用户密码:guest
http://192.168.10.33:15672

rabbitmq操作命令

1、#启动后台管理rabbitmq-plugins enable rabbitmq_management2、#启动rabbitmq-server -detached3、#关闭rabbitmqctl stop4、#查看状态
rabbitmqctl status5、#设置端口号或者关闭防火墙,以便外部访问
iptables -I INPUT -p tcp --dport 15672 -j ACCEPT
或
service iptables stop6、#查看有哪些用户
rabbitmqctl list_users7、#创建一个用户,账号admin 密码admin
rabbitmqctl add_user admin admin8、#将admin用户赋管理员权限
rabbitmqctl set_user_tags admin administrator
rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"9、#删除用户
rabbitmqctl delete_user username10、#改密码
rabbimqctl change_password username newpassword 11、#检查本地节点是否正在运行
sudo rabbitmq-diagnostics ping12、#节点摘除
rabbitmqctl forget_cluster_node rabbit@rabbit3 13、#重置
rabbitmqctl reset application 14、#打印已启用的组件
sudo rabbitmq-diagnostics status15、#打印有效的节点配置
sudo rabbitmq-diagnostics环境16、#对本地节点执行更广泛的运行状况检查
sudo rabbitmq-diagnostics node_health_check17 、#开启/关闭某个插件,需重启生效
rabbitmq-plugins enable/disable xxx 18、#查看所有队列信息
rabbitmqctl list_queues19、#关闭应用
rabbitmqctl stop_app19、#启动应用
rabbitmqctl start_app20、#清除所有队列
rabbitmqctl reset#访问管理页面,默认为端口15672
http://IP:15672  、

端口用途

4369
empd(Erlang Port Mapper Daemon),是 Erlang 的端口/结点名称映射程序,用来跟踪节点名称监听地址,在集群中起到一个类似 DNS 的作用;

5672、5671
由 AMQP 0-9-1 和 1.0 客户端使用;

15672
HTTP_API 端口,管理员用户才能访问,用于管理 RbbitMQ,需要启用 management 插件, rabbitmq-plugins enable rabbitmq_management ,访问 http://server-name:15672/;

25672
Erlang distribution,和4369配合;

61613、61614
当STOMP插件启用的时候打开,作为STOMP客户端端口(根据是否使用TLS选择);

1883、8883
当MQTT插件启用的时候打开,作为MQTT客户端端口(根据是否使用TLS选择);

15674
基于WebSocket的STOMP客户端端口(当插件Web STOMP启用的时候打开);

15675
基于WebSocket的MQTT客户端端口(当插件Web MQTT启用的时候打开);

2、rpm安装RabbitMQ

1. 更新基本系统
安装任何软件包之前,建议使用以下命令更新软件包和存储库

yum -y update

2. 安装Erlang
由于RabbitMQ是基于Erlang(面向高并发的语言)语言开发,所以在安装RabbitMQ之前,需要先安装Erlang。在本教程中我们将安装最新版本的Erlang到服务器中。Erlang在默认的YUM存储库中不可用,因此您将需要安装EPEL存储库。运行以下命令相同。

yum -y install epel-release

安装Erlang

yum -y install erlang socat

您现在可以使用以下命令检查Erlang版本。

[root@liptan-pc ~]# erl -version
Erlang (ASYNC_THREADS,HIPE) (BEAM) emulator version 5.10.4

2. 安装RabbitMQ
RabbitMQ为预编译并可以直接安装的企业Linux系统提供RPM软件包。唯一需要的依赖是将Erlang安装到系统中。我们已经安装了Erlang,我们可以进一步下载RabbitMQ。通过运行下载Erlang RPM软件包。
2.1 下载RabbitMQ
下载RabbitMQ

wget https://www.rabbitmq.com/releases/rabbitmq-server/v3.6.10/rabbitmq-server-3.6.10-1.el7.noarch.rpm

如果你没有安装wget ,可以运行yum -y install wget 。您可以随时找到最新版本的RabbitMQ下载页面的链接。
2.2 安装RabbitMQ
通过运行导入GPG密钥:

rpm –import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc


运行RPM安装RPM包:

rpm -Uvh rabbitmq-server-3.6.10-1.el7.noarch.rpm


RabbitMQ现已经安装在系统上。
3. 使用RabbitMQ
运行

systemctl start rabbitmq-server

开机自启

systemctl enable rabbitmq-server

检查状态

systemctl status rabbitmq-server

4. 访问Web控制台4.1 启动web控制台
启动RabbitMQ Web管理控制台,方法是运行:

rabbitmq-plugins enable rabbitmq_management

通过运行以下命令,将RabbitMQ文件的所有权提供给RabbitMQ用户:

chown -R rabbitmq:rabbitmq /var/lib/rabbitmq/

4.2 创建用户
现在,您将需要为RabbitMQ Web管理控制台创建管理用户。运行以下命令相同。

rabbitmqctl add_user admin StrongPassword
rabbitmqctl set_user_tags admin administrator
rabbitmqctl set_permissions -p / admin “.*” “.*” “.*”

将管理员更改为管理员用户的首选用户名。确保将StrongPassword更改为非常强大的密码。
要访问RabbitMQ的管理面板,请使用您最喜爱的Web浏览器并打开以下URL。

http://Your_Server_IP:15672/

5.管理界面介绍
第一次访问需要登录,默认的账号密码为:guest/guest
5.1.主页

connections:无论生产者还是消费者,都需要与RabbitMQ建立连接后才可以完成消息的生产和消费,在这里可以查看连接情况channels:通道,建立连接后,会形成通道,消息的投递获取依赖通道。Exchanges:交换机,用来实现消息的路由Queues:队列,即消息队列,消息存放在队列中,等待消费,消费后被移除队列。
端口:

5.2.添加用户

上面的Tags选项,其实是指定用户的角色,可选的有以下几个:
超级管理员(administrator)
可登陆管理控制台,可查看所有的信息,并且可以对用户,策略(policy)进行操作。

监控者(monitoring)

可登陆管理控制台,同时可以查看rabbitmq节点的相关信息(进程数,内存使用情况,磁盘使用情况等)
策略制定者(policymaker)
可登陆管理控制台, 同时可以对policy进行管理。但无法查看节点的相关信息(上图红框标识的部分)。
普通管理者(management)
仅可登陆管理控制台,无法看到节点信息,也无法对策略进行管理。
其他
无法登陆管理控制台,通常就是普通的生产者和消费者。
5.3.创建虚拟主机(Virtual Hosts)
为了让各个用户可以互不干扰的工作,RabbitMQ添加了虚拟主机(Virtual Hosts)的概念。其实就是一个独立的访问路径,不同用户使用不同路径,各自有自己的队列、交换机,互相不会影响。

创建好虚拟主机,我们还要给用户添加访问权限:
点击添加好的虚拟主机:

进入虚拟主机设置界面:

3、

1、下载安装包,建立activemq用户,安装#

cd /opt/
wget  http://apache.dataguru.cn/activemq/apache-activemq/5.7.0/apache-activemq-5.7.0-bin.tar.gz
wget  http://apache.dataguru.cn/activemq/apache-activemq/5.9.0/apache-activemq-5.9.0-bin.tar.gz
adduser activemq
tar xvzf apache-activemq-5.7.0.tar.gzln -s apache-activemq-5.7.0 activemqchown -R activemq.activemq apache-activemq-5.7.0ln -sf /opt/activemq/bin/activemq /etc/init.d/update-rc.d activemq defaults
  1. 生成并编辑配置文件 #
/etc/init.d/activemq setup /etc/default/activemq
chmod 600 /etc/default/activemq
chown activemq. /etc/default/activemq
mkdir /var/xxxx
vim /etc/default/activemq
add  ACTIVEMQ_DATA="/var/xxxx"  #the 7 line
add  ACTIVEMQ_USER="activemq"  #the 51 line
修改/etc/security/limits.conf文件,添加如下内容。
activemq - nofile 32768
activemq soft nproc 32000
activemq hard nproc 32000


3.JMX配置#

vim  /etc/default/activemqcancel note as follows
ACTIVEMQ_SUNJMX_START="-Dcom.sun.management.jmxremote.port=11099 "ACTIVEMQ_SUNJMX_START="$ACTIVEMQ_SUNJMX_START -Dcom.sun.management.jmxremote.password.file=${ACTIVEMQ_CONF}/jmx.password"ACTIVEMQ_SUNJMX_START="$ACTIVEMQ_SUNJMX_START -Dcom.sun.management.jmxremote.access.file=${ACTIVEMQ_CONF}/jmx.access"ACTIVEMQ_SUNJMX_START="$ACTIVEMQ_SUNJMX_START -Dcom.sun.management.jmxremote.ssl=false"ACTIVEMQ_SUNJMX_START="$ACTIVEMQ_SUNJMX_START -Dcom.sun.management.jmxremote"ACTIVEMQ_SUNJMX_CONTROL="--jmxurl service:jmx:rmi:///jndi/rmi://127.0.0.1:11099/jmxrmi --jmxuser admin --jmxpassword activemq"
add note as follows
#ACTIVEMQ_SUNJMX_CONTROL=""
Remarks modify jmxuser and jmxpassword,ensure /opt/activemq/conf/jmx.access file and /opt/activemq/conf/jmx.password file site the same.
Give jmx.* file  permission as follows
chmod 600 /opt/activemq/conf/jmx.*

4.启动和停止activemq#

/etc/init.d/activemq start
/etc/init.d/activemq stop

5.访问activemq管理界面#

http://x.x.x.x:8161/
user:admin
pwd:admin

常见问题

1、

8月 20 14:17:30 localhost.localdomain rabbitmq-server[141651]:    /var/log/rabbitmq/rabbit@localhost.log
8月 20 14:17:30 localhost.localdomain rabbitmq-server[141651]:    /var/log/rabbitmq/rabbit@localhost-sasl.log
8月 20 14:17:30 localhost.localdomain rabbitmq-server[141651]: Stack trace:
8月 20 14:17:30 localhost.localdomain rabbitmq-server[141651]:    [{gen,do_for_proc,2,[{file,"gen.erl"},{line,228}]},
8月 20 14:17:30 localhost.localdomain rabbitmq-server[141651]:     {gen_event,rpc,2,[{file,"gen_event.erl"},{line,239}]},
8月 20 14:17:30 localhost.localdomain rabbitmq-server[141651]:     {rabbit,ensure_working_log_handlers,0,
8月 20 14:17:30 localhost.localdomain rabbitmq-server[141651]:             [{file,"src/rabbit.erl"},{line,842}]},
8月 20 14:17:30 localhost.localdomain rabbitmq-server[141651]:     {rabbit,'-boot/0-fun-0-',0,[{file,"src/rabbit.erl"},{line,281}]},
8月 20 14:17:30 localhost.localdomain rabbitmq-server[141651]:     {rabbit,start_it,1,[{file,"src/rabbit.erl"},{line,417}]},
8月 20 14:17:30 localhost.localdomain rabbitmq-server[141651]:     {init,start_em,1,[]},
8月 20 14:17:30 localhost.localdomain rabbitmq-server[141651]:     {init,do_boot,3,[]}]
8月 20 14:17:30 localhost.localdomain rabbitmq-server[141651]: =INFO REPORT==== 20-Aug-2020::14:17:30.319492 ===
8月 20 14:17:30 localhost.localdomain rabbitmq-server[141651]: Error description:
8月 20 14:17:30 localhost.localdomain rabbitmq-server[141651]:    noproc
8月 20 14:17:30 localhost.localdomain rabbitmq-server[141651]: Log files (may contain more information):
8月 20 14:17:30 localhost.localdomain rabbitmq-server[141651]:    /var/log/rabbitmq/rabbit@localhost.log
8月 20 14:17:30 localhost.localdomain rabbitmq-server[141651]:    /var/log/rabbitmq/rabbit@localhost-sasl.log
8月 20 14:17:30 localhost.localdomain rabbitmq-server[141651]: Stack trace:
8月 20 14:17:30 localhost.localdomain rabbitmq-server[141651]:    [{gen,do_for_proc,2,[{file,"gen.erl"},{line,228}]},
8月 20 14:17:30 localhost.localdomain rabbitmq-server[141651]:     {gen_event,rpc,2,[{file,"gen_event.erl"},{line,239}]},
8月 20 14:17:30 localhost.localdomain rabbitmq-server[141651]:     {rabbit,ensure_working_log_handlers,0,
8月 20 14:17:30 localhost.localdomain rabbitmq-server[141651]:             [{file,"src/rabbit.erl"},{line,842}]},
8月 20 14:17:30 localhost.localdomain rabbitmq-server[141651]:     {rabbit,'-boot/0-fun-0-',0,[{file,"src/rabbit.erl"},{line,281}]},
8月 20 14:17:30 localhost.localdomain rabbitmq-server[141651]:     {rabbit,start_it,1,[{file,"src/rabbit.erl"},{line,417}]},
8月 20 14:17:30 localhost.localdomain rabbitmq-server[141651]:     {init,start_em,1,[]},
8月 20 14:17:30 localhost.localdomain rabbitmq-server[141651]:     {init,do_boot,3,[]}]
8月 20 14:17:31 localhost.localdomain rabbitmq-server[141651]: {"init terminating in do_boot",noproc}
8月 20 14:17:31 localhost.localdomain rabbitmq-server[141651]: init terminating in do_boot (noproc)
8月 20 14:17:31 localhost.localdomain rabbitmq-server[141651]: [1B blob data]
8月 20 14:17:31 localhost.localdomain rabbitmq-server[141651]: Crash dump is being written to: erl_crash.dump...done
8月 20 14:17:31 localhost.localdomain systemd[1]: rabbitmq-server.service: Main process exited, code=exited, status=1/FAILURE
8月 20 14:17:31 localhost.localdomain systemd[1]: rabbitmq-server.service: Failed with result 'exit-code'.
8月 20 14:17:31 localhost.localdomain systemd[1]: Failed to start RabbitMQ broker.


参考链接 :
RabbitMQ 部署记录 : https://mp.weixin.qq.com/s/YlsbisNSbKKf3-sUWfnDvw
RabbitMQ简介以及应用 :https://mp.weixin.qq.com/s/xX85bYETptp_zzL3en_SGQ

高可用RocketMQ集群搭建 : https://mp.weixin.qq.com/s/qWDrBnrAZ4G72DFBFEaFBQ

Linux中如何安装RabbitMQ? https://mp.weixin.qq.com/s/ciS_I2C_TBTrtUzchMrezQ

CentOS下RabbitMQ 部署记录相关推荐

  1. springboot在centos下安装环境+部署war包

    最近在做Springboot打包和环境部署工作,网上更多是打jar包的方式,搜索了很久,没有一个合理的过程和步骤,这里我具体写一下,共享大家! 环境 系统:centos7 64位 安装jdk,Tomc ...

  2. 云原生|kubernetes|centos下安装部署kubeapps以及简单的使用示例

    前言: kubeapps是Bitnami公司的一个项目,其目的是为Kubernetes的使用者们提供已经打包好的应用仪表盘,它拥有网页界面可以更方便的部署和管理k8s 原生应用. 包含绝大多数的云原生 ...

  3. Linux/Centos下安装部署phantomjs 及使用

    文章转载自:http://www.cnblogs.com/10-22/articles/4383196.html PhantomJS 是一个基于 WebKit 的服务器端 JavaScript API ...

  4. centos下rabbitmq启动失败:

    如果你安装的是rabbitmq-server-3.6.8-1.el7.noarch.rpm,那么什么都别想了,升级到rabbitmq-server-3.7.14-1.el7.noarch.rpm. 启 ...

  5. CentOS下Oracle11g部署

    一.环境要求 1.Oracle11G下载地址 https://www.oracle.com/cn/database/enterprise-edition/downloads/oracle-db11g- ...

  6. Centos下堡垒机Jumpserver V3.0环境部署完整记录(1)-安装篇

    Centos下堡垒机Jumpserver V3.0环境部署完整记录(1)-安装篇 由于来源身份不明.越权操作.密码泄露.数据被窃.违规操作等因素都可能会使运营的业务系统面临严重威胁,一旦发生事故,如果 ...

  7. ArcGIS Enterprise 10.5.1 静默安装部署记录(Centos 7.2 minimal)- 2、安装WebAdapter

    解压webadapter安装包,tar -xzvf Web_Adaptor_Java_Linux_1051_156442.tar.gz 进入下Webadapter目录下静默安装 ./Setup -m ...

  8. ArcGIS Enterprise 10.5.1 静默安装部署记录(Centos 7.2 minimal)- 6、总结

    安装小结 安装完成后,首先我们需要将Datastore托管给Server,再将Server托管给Portal以此来完成整个单机版Enterprise 部署流程.为了测试流程是否正确,我们可以采用上传一 ...

  9. centos 启动一个redis_linux环境下安装部署redis服务器

    概述 Redis是Remote Dictionary Server的缩写.他本质上一个Key/Value数据库,与Memcached类似的NoSQL型数据库.今天把之前在生产环境下安装部署redis的 ...

最新文章

  1. 转载: Web 研发模式演变
  2. SAS宏保存以便快速调用的三种解决方案(转载)
  3. iOS 打包.framework(包括第三方、图片、xib、plist文件)详细步骤及需要注意的地方...
  4. 阿里云印尼大区开服,助力“一带一路”发展数字经济
  5. 手工删除oracle的方法
  6. java随机抽取数字_java 获取随机数字的三种方法
  7. OSEK网络管理入门
  8. python操作 e'xcel表格
  9. 为什么说php开发成本低,PHP、JSP和.NET三种语言的对比中开发成本最低的是?
  10. ECS的简单入门(二):Entity
  11. node api框架_使用Web API,Node和Nexmo从浏览器发送SMS
  12. mysql cpu 内存的选择
  13. 外存及虚拟存储器管理
  14. UAP开发中遇到的问题
  15. MySQL(十二)MDL锁介绍
  16. 【EMNLP20 论文笔记】HGN:基于分层图网络的多跳阅读理解模型
  17. 破解TexturePacker加密资源,寻找解密Key之旅
  18. Flow 3D学习记录
  19. choice数据库的使用(一):如何下载数据
  20. 云顶之弈国际服服务器维护,【云顶之弈】国服和国际服有大量差异,国际服修复多个漏洞...

热门文章

  1. 计算机专业毕业设计中期考核表,研究生中期考核表导师评语
  2. java笔记_2020年java程序员、java工程师必备资料(内含java学习思维图、视频教程、源码笔记等)...
  3. 用curl访问HTTPS站点并登录
  4. 用Html5制作的一款数学教学程序Function Graphics(绘制函数图的程序)
  5. k8s-controller manager原理分析
  6. Python:***测试开源项目
  7. Spring源码入门——AnnotationBeanNameGenerator解析
  8. 学习和研究下unity3d的四元数 Quaternion
  9. Jmeter 快速入门教程(三-1) --添加响应断言(即loadrunner中所指的检查点)
  10. C# 模拟鼠标(mouse_event)