安装环境:CentOS release 6.5 (Final)
官方安装:http://www.rabbitmq.com/install-rpm.html
----------------------------------------------------------------------------------------------------------------
查看版本命令:cat /etc/centos-release
-----------------------------------------------------------------------------------------------------------------
一. rabbitMQ依赖erlang,先安装erlang环境
从Erlang的官网 http://www.erlang.org/download.html 下载最新的erlang安装包,我下载的版本是 erlang-1.1-1.x86_64.rpm或者otp_src_R13B04.tar.gz 。
安装源码:
rpm -i erlang-1.1-1.x86_64.rpm ----安装erlang
安装二:
tar zxvf otp_src_R13B04.tar.gz
cd otp_src_R13B04
./configure
make && make install
--------------------------------------------------------------
一般默认安装路径就可以,不需要制定安装路径
---------------------------------------------------------------
配置环境变量:
# vim /etc/profile
ERL_HOME=/usr/local/erlang
PATH=$ERL_HOME/bin:$PATH
export ERL_HOME PATH
# source /etc/profile
查看是否安装成功
cd /usr/lib64/erlang/bin
[root@vm-10-154-156-227 bin]# erl
Erlang R14B04 (erts-5.8.5) [source] [64-bit] [smp:2:2] [rq:2] [async-threads:0] [kernel-poll:false]
Eshell V5.8.5 (abort with ^G)
1>
安装成功。
二.安装simplejson
需要安装一个比较新的Python版本。安装略。
需要安装simplejson。从此处下载最新的版本: http://pypi.python.org/pypi/simplejson#downloads 。我下载的版本是 simplejson-2.2.1.tar.gz
$ tar xvzf simplejson-2.2.1.tar.gz
$ cd simplejson-2.2.1
$ sudo python setup.py install
三.安装rabbitMQ
然后安装RabbitMQ Server。从此处下载源代码版本的RabbitMQ: http://www.rabbitmq.com/server.html。我下载的版本是 rabbitmq-server-2.8.1.tar.gz
$ tar xvzf rabbitmq-server-2.8.1.tar.gz
$ cd rabbitmq-server-2.8.1.tar.gz
$ make
# TARGET_DIR=/usr/local SBIN_DIR=/usr/local/sbin MAN_DIR=/usr/local/man make install
在/usr/local/sbin/目录下出现了三个命令:
rabbitmqctl rabbitmq-env rabbitmq-server
安装成功。
配置环境(查了一下资料,网上写的有些不全,导致尝试了很多方法)Rabbitmq的配置文件有三个,位于/etc/rabbitmq/(目录需要新建)
(1)enabled_plugins, 设置允许的插件列表,该配置文档的格式为erlang的列表格式如
[rabbitmq_management,rabbitmq_visualiser].
(2)rabbitmq.conf,设置rabbitmq的运行参数。该配置文件中的每个参数为一个erlang的 tuple,结构为{Key,Value}, Key为atom类型, Value为一个term。其中几个关键参数为:
tcp_listerners 设置rabbimq的监听端口,默认为[5672]。
disk_free_limit 磁盘低水位线,若磁盘容量低于指定值则停止接收数据,默认值为
{mem_relative, 1.0},即与内存相关联1:1,也可定制为多少byte.
vm_memory_high_watermark,设置内存低水位线,若低于该水位线,则开启流控机制,默认值是0.4,即内存总量的40%。
hipe_compile 将部分rabbimq代码用HighPerformance Erlang compiler编译,可提升性能,该参数是实验性,若出现erlang vm segfaults,应关掉。
force_fine_statistics, 该参数属于rabbimq_management,若为true则进行精细化的统计,但会影响性能。
(3)rabbitmq-env.conf rabbitmq的环境参数配置
RABBITMQ_NODE_PORT 端口设置,默认为5672
RABBITMQ_NODENAME 节点名称,默认为rabbit
MNESIA_BASE 后端存储目录 ,默认为/var/lib/rabbitmq/mnesia
LOG_BASE 日志目录,默认为/var/log/rabbitmq/
-------------------------------------------------------------------------------------------------------
enabled_plugins 文件中包括
[rabbitmq_management,amqp_client,rabbitmq_management_agent,rabbitmq_mochiweb,webmachine].
符合erlang格式
rabbitmq.conf文件可以先默认为空,有需要在添加
[root@vm-10-154-156-xxx rabbitmq]# cat rabbitmq-env.conf
RABBITMQ_NODE_PORT=5672
#HOSTNAME=
RABBITMQ_NODENAME=rabbit@vm-10-154-156-227
RABBITMQ_CONFIG_FILE=/app/rabbitmq-server-2.8.1/plugins
RABBITMQ_MNESIA_BASE=/rabbitmq/data
RABBITMQ_LOG_BASE=/rabbitmq/log
RABBITMQ_PLUGINS_DIR=/app/rabbitmq-server-2.8.1/plugins
-------------------------------------------------------------------------------------------------------
四.启动rabbitMQ
找到sbin/目录,运行程序:
/usr/local/sbin/rabbitmq-server –detached
/usr/local/sbin/rabbitmq-server start/stop/restart
停止程序:
/usr/local/sbin/rabbitmqctl stop
查看启动
[root@vm-10-154-156-xxx rabbitmq]# ps -ef|grep rabbit
root 5062 1 0 May13 ? 00:04:07 /usr/lib64/erlang/erts-5.8.5/bin/beam.smp -W w -K true -A30 -P 1048576 -- -root /usr/lib64/erlang -progname erl -- -home /root -- -noshell -noinput -sname rabbit@vm-10-154-156-227 -boot /rabbitmq/data/rabbit@vm-10-154-156-227-plugins-expand/rabbit -kernel inet_default_connect_options [{nodelay,true}] -rabbit tcp_listeners [{"auto",5672}] -sasl errlog_type error -sasl sasl_error_logger false -rabbit error_logger {file,"/rabbitmq/log/rabbit@vm-10-154-156-227.log"} -rabbit sasl_error_logger {file,"/rabbitmq/log/rabbit@vm-10-154-156-227-sasl.log"} -os_mon start_cpu_sup false -os_mon start_disksup false -os_mon start_memsup false -mnesia dir "/rabbitmq/data/rabbit@vm-10-154-156-227" -noshell -noinput
root 10925 3793 0 11:12 pts/1 00:00:00 grep rabbit
查看端口
[root@vm-10-154-156-xxx rabbitmq]# netstat -napt|grep 5672
tcp 0 0 0.0.0.0:55672 0.0.0.0:* LISTEN 5062/beam.smp
tcp 0 0 10.154.156.227:55672 10.58.100.158:54867 ESTABLISHED 5062/beam.smp
tcp 0 0 :::5672 :::* LISTEN 5062/beam.smp
五.监控
RabbitMQ提供了一个web的监控页面系统,这个系统是以Plugin的方式进行调用的。
首先,在rabbitmq-env.conf中配置好plugins目录的位置:RABBITMQ_CONFIG_FILE
将监控页面所需要的plugin下载到plugins目录下,这些plugin包括:
mochiweb
webmachine
rabbitmq_mochiweb
amqp_client
rabbitmq_management_agent
rabbitmq_management
下载路径位于:http://www.rabbitmq.com/plugins.html#rabbitmq_management
命令:
cd /etc/rabbitmq# rabbitmq-plugins enable rabbitmq_management
重新启动# rabbitmq-server start &
检查页面http://service-ip:55672
-----------------------------------------------------------------------------------------------------------
启动是遇到问题:
[root@leeon sbin]# rabbitmq-server start Activating RabbitMQ plugins ... 0 plugins activated: ERROR: unexpected epmd error: address
问题1:0 plugins activated:
检查 /etc/rabbitmq 下的配置文件
enabled_plugins 文件中包括
[rabbitmq_management,amqp_client,rabbitmq_management_agent,rabbitmq_mochiweb,webmachine].
rabbitmq-env.conf 文件中RABBITMQ_PLUGINS_DIR=/app/rabbitmq-server-2.8.1/plugins (根据自己的实际目录)
plugins文件夹下,包括的文件
amqp_client-0.0.0.ez rabbitmq_management-0.0.0.ez
eldap-0.0.0-git.ez rabbitmq_management_agent-0.0.0.ez
erlando-0.0.0.ez rabbitmq_management_visualiser-0.0.0.ez
mochiweb-1.3-rmq0.0.0-git.ez rabbitmq_mochiweb-0.0.0.ez
rabbitmq_auth_backend_ldap-0.0.0.ez rabbitmq_shovel-0.0.0.ez
rabbitmq_auth_mechanism_ssl-0.0.0.ez rabbitmq_shovel_management-0.0.0.ez
rabbitmq_consistent_hash_exchange-0.0.0.ez rabbitmq_stomp-0.0.0.ez
rabbitmq_federation-0.0.0.ez rabbitmq_tracing-0.0.0.ez
rabbitmq_jsonrpc-0.0.0.ez README
rabbitmq_jsonrpc_channel-0.0.0.ez rfc4627_jsonrpc-0.0.0-git.ez
rabbitmq_jsonrpc_channel_examples-0.0.0.ez webmachine-1.7.0-rmq0.0.0-hg.ez
问题:2:ERROR: unexpected epmd error: address
hostname-----查看主机名称
vm-10-154-156-xxx
添加hosts
vi /etc/hosts
127.0.0.1 vm-10-154-156-xxx
-------------------------------------------------------------------------------------------------------------------------
参考链接:http://blog.youkuaiyun.com/historyasamirror/article/details/6827870
http://blog.youkuaiyun.com/huoyunshen88/article/details/33738393