RabbitMQ
1. Erlang
RabbitMQ是使用Erlang语言编写的,运行RabbitMQ需要配置一下erlang的环境。按照RabbitMQ的官方安装方法http://www.rabbitmq.com/install-rpm.html,其推荐使用打包的版本进行安装,包的来源有三种方式:
1.ErlangSolutions https://www.erlang-solutions.com/resources/download.html这个网站提供了一些包,而且经常更新。
2.他们自己提供的一个包,这个包只提供了一些需要运行RabbitMQ组件。可能不是最新的Erlang的环境,但是这是最容易使用的方式,如果安装Erlang依赖很困难。
3.EPEL:Extra Packages for Enterprise Linux,提供了很多附加的包,包括了Erlang。有很多官方的包,并且分成了很多小包,但是不经常更新。
这三种方法都没有使用,直接去官网下载erlang的安装包:http://www.erlang.org/downloads,也可以使用wget http://erlang.org/download/otp_src_19.1.tar.gz直接下载下来。
1.解压:tar –xvzf opt_src_19.1.tar.gz
2.安装依赖环境:
yum -y install make gcc gcc-c++ kernel-devel m4ncurses-devel openssl-devel unixODBC-devel
3.配置及编译:
./configure --prefix=安装地址 --with-ssl -enable-threads -enable-smmp-support -enable-kernel-poll--enable-hipe --without-javac
make
make install
4.配置环境变量
vim /etc/profile
ERLANG_HOME=/usr/local/erlang
PATH=$PATH:$JAVA_HOME/bin:$ERLANG_HOME/bin
source /etc/profile
echo $PATH
5.检验配置
2. RabbitMQ
这里以centos7的安装为例。
1.下载
http://www.rabbitmq.com/download.html
选择自己操作系统对应的版本,我直接下载的编译好了的:
可以使用wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.6/rabbitmq-server-generic-unix-3.6.6.tar.xz来进行下载。
2.解压
xz –drabbitmq-server-generic-unix-3.6.6.tar.xz
tar –xvfrabbitmq-server-generic-unix-3.6.6.tar
3.启动
进入sbin文件夹:执行 cd rabbitma_server-3.6.6/sbin
启动web管理界面
./rabbitmq-pluginsenable rabbitmq_management
停止:
./rabbitmqctl stop
启动:
./rabbitmq-server –detached
添加用户
./rabbitmqctladd_user admin 123123
设置权限
./rabbitmqctlset_user_tags admin administrator
4.浏览器访问管理
Ip:15672,初始安装后会有一个默认的帐号guest/guest 但是这个帐号只能从本地登录http://localhost:15672,如果要配置远程登录,就必须另创建用户,如上面的admin。
5.基本操作
(1)首先关闭rabbitmq: rabbitmqctl stop_app
(2)还原: rabbitmqctl reset
(3)启动: rabbitmq-server –detached 后台运行
(4)添加用户: rabbitmqctl add_user root root
(5)设置权限:rabbitmqctl set_permissions -p / root ".*" ".*"".*"
(6)查看用户: rabbitmqctl list_users
6.配置文件
一般情况下rabbitmq是没有配置文件的,其原本会读取安装路径下/etc/rabbitmq/rabbitmq.config文件,这个文件默认是没有的。只有在需要定制复杂的应用时,会需要用到配置文件。
不过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/
7.其它
其它参数详情请见:http://www.rabbitmq.com/configure.html
更多配置方法如集群等见
http://blog.csdn.net/huoyunshen88/article/details/33738393