版本要求

消息中间件RabbitMQ,安装本身没什么难点,要注意的是它依赖的Erlang的版本。版本不支持,安装后启动时会报错:

escript: exception error: undefined function rabbitmqctl_escript:main/1
  in function  escript:run/2 (escript.erl, line 759)
  in call from escript:start/1 (escript.erl, line 277)
  in call from init:start_em/1 (init.erl, line 1085)
  in call from init:do_boot/3 (init.erl, line 793)

RabbitMQ各版本对Erlang的版本要求,具体可见官网:
RabbitMQ Erlang Version Requirements
这里大概列一下

RabbitMQ版本 Erlang最低 Erlang最高
3.11.0-3.11.2 25.0 25.1
3.10.8-3.10.10 24.2 25.1
3.10.5-3.10.7 23.2 25.1
3.10.0-3.10.4 23.2 24.3
3.9.22-3.9.24 24.2 24.3
3.9.15-3.9.21 23.3 24.3
3.9.0-3.9.14 23.2 24.2

我这次安装在centos7.6系统。,RabbitMQ 3.11.2,ERLANG 25.0.4。下面给出官方下载地址。
RabbitMQ下载
ERLANG下载

安装步骤

下载好RabbitMQ和Erlang的安装包后上传到服务器。

Erlang安装

Erlang依赖ncurses-devel。先安装它。通过yum

yum install ncurses-devel

等它下载安装完成。
然后安装Erlang

##解压
tar xvf otp_src_25.0.4.tar.gz
cd otp_src_25.0.4
##prefix指定了安装路径
./configure --prefix=/software/erlang
make
make install

运行完成后,配置环境变量(配置这个主要是为了能在任意目录下找到使用它的命令)。这里只修改当前用户的环境变量文件.bash_profile。

cd ~
vi .bash_profile

在PATH变量前加上ERLANG_HOME,再在已有的PATH变量后面添加上ERLANG_HOME/bin(冒号隔开)。修改完内容如下:

###根据自己实际路径
export ERLANG_HOME=/software/erlang    
PATH=$PATH:$HOME/bin:$ERLANG_HOME/bin
export PATH

编辑完保存退出,运行source .bash_profile生效。
然后即可输入erl进入erlang的命令行,如图

RabbitMQ安装

rabbitmq解压即可使用,将刚才的压缩包解压到指定路径。这里我们还安装到/software/下

tar xvf rabbitmq-server-generic-unix-3.11.2.tar.xz -C /software/

然后检查/software/下,就有rabbitmq_server-3.11.2目录了。
也在环境变量中配置下RabbitMQ的路径,方便执行命令。

cd ~
vi .bash_profile

配置RABBITMQ_HOME,并在PATH变量中添加RABBITMQ_HOME/sbin。修改后如下:

export ERLANG_HOME=/software/erlang
export RABBITMQ_HOME=/software/rabbitmq_server-3.11.2
PATH=$PATH:$HOME/bin:$ERLANG_HOME/bin:$RABBITMQ_HOME/sbin

export PATH

编辑完保存退出,运行source .bash_profile生效。

启动运行

直接运行rabbitmq-server即可启动,且可以在控制台窗口看到打印的启动日志。这里我们添加参数-detached,让它以守护进程方式运行。这样当前shell可以继续使用,窗口关闭了rabbitmq服务也会继续运行。

rabbitmq-server -detached

跑完发现没啥动静。可以用它提供的命令查看rabbitmq服务的状态

rabbitmqctl status

运行后打印如下:

Status of node rabbit@VM-4-2-centos ...
Runtime

OS PID: 8012
OS: Linux
Uptime (seconds): 13
Is under maintenance?: false
RabbitMQ version: 3.11.2
RabbitMQ release series support status: supported
Node name: rabbit@VM-4-2-centos
Erlang configuration: Erlang/OTP 25 [erts-13.0.4] [source] [64-bit] [smp:2:2] [ds:2:2:10] [async-threads:1]
Crypto library: OpenSSL 1.0.2k-fips  26 Jan 2017
Erlang processes: 273 used, 1048576 limit
Scheduler run queue: 1
Cluster heartbeat timeout (net_ticktime): 60

Plugins

Enabled plugin file: /software/rabbitmq_server-3.11.2/etc/rabbitmq/enabled_plugins
Enabled plugins:


Data directory

Node data directory: /software/rabbitmq_server-3.11.2/var/lib/rabbitmq/mnesia/rabbit@VM-4-2-centos
Raft data directory: /software/rabbitmq_server-3.11.2/var/lib/rabbitmq/mnesia/rabbit@VM-4-2-centos/quorum/rabbit@VM-4-2-centos

Config files


Log file(s)

 * /software/rabbitmq_server-3.11.2/var/log/rabbitmq/rabbit@VM-4-2-centos.log
 * /software/rabbitmq_server-3.11.2/var/log/rabbitmq/rabbit@VM-4-2-centos_upgrade.log
 * <stdout>

Alarms

(none)

Memory

Total memory used: 0.0762 gb
Calculation strategy: rss
Memory high watermark setting: 0.4 of available memory, computed to: 1.5495 gb

code: 0.0301 gb (39.46 %)
other_proc: 0.0183 gb (24.05 %)
other_system: 0.0133 gb (17.47 %)
reserved_unallocated: 0.0055 gb (7.22 %)
allocated_unused: 0.004 gb (5.22 %)
other_ets: 0.0028 gb (3.63 %)
atom: 0.0014 gb (1.81 %)
metrics: 0.0006 gb (0.72 %)
binary: 0.0001 gb (0.19 %)
mnesia: 0.0001 gb (0.1 %)
plugins: 0.0 gb (0.05 %)
msg_index: 0.0 gb (0.04 %)
quorum_ets: 0.0 gb (0.03 %)
quorum_queue_dlx_procs: 0.0 gb (0.0 %)
stream_queue_procs: 0.0 gb (0.0 %)
stream_queue_replica_reader_procs: 0.0 gb (0.0 %)
connection_channels: 0.0 gb (0.0 %)
connection_other: 0.0 gb (0.0 %)
connection_readers: 0.0 gb (0.0 %)
connection_writers: 0.0 gb (0.0 %)
mgmt_db: 0.0 gb (0.0 %)
queue_procs: 0.0 gb (0.0 %)
queue_slave_procs: 0.0 gb (0.0 %)
quorum_queue_procs: 0.0 gb (0.0 %)
stream_queue_coordinator_procs: 0.0 gb (0.0 %)

File Descriptors

Total: 2, limit: 99904
Sockets: 0, limit: 89911

Free Disk Space

Low free disk space watermark: 0.05 gb
Free disk space: 56.6277 gb

Totals

Connection count: 0
Queue count: 0
Virtual host count: 1

Listeners

Interface: [::], port: 25672, protocol: clustering, purpose: inter-node and CLI tool communication
Interface: [::], port: 5672, protocol: amqp, purpose: AMQP 0-9-1 and AMQP 1.0

可以看到有MQ的版本、运行环境信息、进程信息、日志和数据文件路径、服务器状态信息等等。

关闭用命令rabbitmqctl stop即可。

至此RabbitMQ安装完毕

原文地址:http://www.cnblogs.com/three-xj/p/16850295.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性