1.操作系统环境

操作系统:CentOS6.5 / 64bit
用户:root

2.RabbitMQ编译安装

RabbitMQ是使用Erlang开发,所以安装RabbitMQ前需要先安装Erlang。

2.1.获取Erlang和RabbitMQ的源文件

http://erlang.org/download/下查找最新的源文件,我选择的是版本17
找到后,执行以下命令直接在Linux下获取源码

wget http://erlang.org/download/otp_src_17.0.tar.gz

http://www.rabbitmq.com/releases/rabbitmq-server查找到最新的源码版本,我选择v3.6.0

找到后,执行以下命令直接在Linux下获取源码

wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.0/rabbitmq-server-3.6.0-1.noarch.rpm

2.2.编译安装Erlang

2.2.1.解压otp_src_17.0.tar.gz

tar -zxvf otp_src_17.0.tar.gz
编译安装Erlang对环境有要求,为防止在编译的时候提示某些软件包未安装之类的错误,所以我将Erlang需要的软件提前安装,直接使用yum进行安装即可

2.2.2.利用yum安装erlang编译环境

yum -y install make ncurses-devel gcc gcc-c++ unixODBC unixODBC-devel openssl openssl-devel

2.2.3.编译安装Erlang

设置

cd otp_src_17.0
./configure --prefix=/usr/local/erlang --enable-smp-support --enable-threads --enable-sctp --enable-kernel-poll --enable-hipe --with-ssl

上述参数说明:
–prefix 指定安装目录
–enable-smp-support启用对称多处理支持(Symmetric Multi-Processing对称多处理结构的简称)
–enable-threads启用异步线程支持
–enable-sctp启用流控制协议支持(Stream Control Transmission Protocol,流控制传输协议)
–enable-kernel-poll启用Linux内核poll
–enable-hipe启用高性能Erlang(High Performance Erlang)
–with-ssl使用SSL包

编译和安装

[root@iZ250x18mnzZ otp_src_17.0]# make && make install

2.3.设置环境变量

环境变量为追加

[root@iZ250x18mnzZ ~]# vi /etc/profile

ERL_HOME=/usr/local/erlang
PATH=$ERL_HOME/bin:$PATH
export ERL_HOME PATH
保存后,重新激活环境变量生效

[root@iZ250x18mnzZ ~]# source /etc/profile

验证是否已经追加成功

~]# echo $ERL_HOME
1
2
3
/usr/local/erlang
[root@iZ250x18mnzZ ~]# echo $PATH
/usr/local/erlang/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

2.4.安装RabbitMQ

[root@iZ250x18mnzZ ~]# rpm -i rabbitmq-server-3.6.0-1.noarch.rpm
warning: rabbitmq-server-3.6.0-1.noarch.rpm: Header V4 DSA/SHA1 Signature, key ID 056e8e56: NOKEY
error: Failed dependencies:
erlang >= R16B-03 is needed by rabbitmq-server-3.6.0-1.noarch
上述错误信息显示安装失败,因为rabbigmq的依赖关系所导致,所以要忽略依赖,执行以下命令

[root@iZ250x18mnzZ ~]# rpm -i –nodeps rabbitmq-server-3.6.0-1.noarch.rpm

2.5.启停RabbitMQ

官网提供启动方式
使用root用户启动和停止服务

/sbin/service rabbitmq-server stop/start/etc.
[root@iZ250x18mnzZ ~]#service rabbitmq-server start 启动服务
[root@iZ250x18mnzZ ~]#service rabbitmq-server etc 查看哪些命令可以使用
[root@iZ250x18mnzZ ~]#service rabbitmq-server stop 停止服务
[root@iZ250x18mnzZ ~]#service rabbitmq-server status查看服务状态
注:启动时,可能会出现附录中的错误,具体解决方案可参考。

2.6.添加rabbitmq到启动项

执行以下代码

chkconfig rabbitmq-server on

2.7.RabbitMQ设置

从官网来看,RabbitMQ有两个配置文件,使用RPM方式安装:

RabbitMQ的根目录:/var/lib/rabbitmq
RabbitMQ的配置文件目录:/etc/rabbitmq/
RabbitMQ的日志文件目录:/var/log/rabbitmq
两个配置文件分别是:
rabbitmq.config
rabbitmq-env.conf
RabbitMQ环境变量配置文件,变量名称及内容可参考:http://www.rabbitmq.com/configure.html#define-environment-variables
配置在文件中的变量使用参考中的标准变量,但是需要将变量前缀RABBITMQ_去掉
官网中提到的关于变量的默认内容及含义可参考:http://www.rabbitmq.com/relocate.html
配置文件相关资料:http://www.rabbitmq.com/configure.html#configuration-file

2.8.查看Web管理界面

这里必须启动rabbit_manager插件(如何启动插件,请查看rabbit_manager插件管理)。

输入http://ip地址:端口号(默认:15672) 例如:http://10.168.41.127:15672/

默认可是可以再本地登陆,使用guest用户,密码也是guest. http://localhost:15672

注意:guest用户不能远程登陆。

进入/usr/sbin目录 可以使用./rabbitmqctl add_user 用户名 密码 例如:./rabbitmqctl add_user wuge wuge

并设置新添加的用户状态 使用./rabbitmqctl set_user_tags wuge administrator

更多参考:https://www.rabbitmq.com/management.html#configuration

3.相关资料

  1. 官网安装资料:http://www.rabbitmq.com/install-rpm.html

4.附录

4.1. 启动失败

使用命令 service rabbitmq-server start 一直无法启动
Startup_err 中记录以下错误信息

/usr/lib/rabbitmq/bin/rabbitmq-server: line 50: erl: command not found
是因为环境变量不同,导致无法找到相应命令,按照指引
将erlang的erl软连接到/usr/bin目录下

[root@iZ250x18mnzZ rabbitmq]# ln -s /usr/local/erlang/bin/erl /usr/bin/erl
重新执行成功