一、Erlang安装
1、RabbitMQ是使用Erlang开发的,所以安装RabbitMQ前需要先安装Erlang。获取Erlang和RabbitMQ的源文件。http://erlang.org/download/下查找最新的源文件。
wget http://erlang.org/download/otp_src_19.3.tar.gz
2、编译安装Erlang
A、解压
tar zxvf otp_src_19.3.tar.gz -C ./
B、安装erlang编译环境
yum -y install make ncurses-devel gcc gcc-c++ unixODBC unixODBC-devel openssl openssl-devel
C、编译安装:
# ./configure --prefix=/usr/local/erlang --enable-smp-support --enable-threads --enable-sctp --enable-kernel-poll --enable-hipe --with-ssl
# make && make install
上述参数说明:
--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)
D、追加环境变量
ERL_HOME=/usr/local/erlang
PATH=$ERL_HOME/bin:$PATH
export ERL_HOME PATH
保存后,重新激活环境变量生效
source /etc/profile
二、RabbitMQ安装
1、源码下载
http://www.rabbitmq.com/releases/rabbitmq-server
# wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.0/rabbitmq-server-3.6.0-1.noarch.rpm
2、安装
# rpm -i rabbitmq-server-3.6.0-1.noarch.rpm
如果提示如下错误:
这是因为rabbitmq的依赖关系导致的,所以要忽略依赖,执行以下命令:
#rpm -i --nodeps rabbitmq-server-3.6.0-1.noarch.rpm
3、运行启动
service rabbitmq-server start 启动服务
service rabbitmq-server etc 查看哪些命令可以使用
service rabbitmq-server stop 停止服务
service rabbitmq-server status查看服务状态
但是启动的时候可能会报出如下错误:
查找报错原因见如下:
vim /var/log/rabbitmq/startup_err
A、mkdir: 无法创建目录"/var/run/rabbitmq": 权限不够
B、/usr/lib/rabbitmq/bin/rabbitmq-server: line 50: erl: command not found
解决办法:
ln -s /usr/local/erlang/bin/erl /usr/bin/erl
在/etc/hosts目录下查看是否存在当前用户名,如果不存在,那么运行的时候可能出现“epmd error for host hostname”错误。
4、注册成服务
chkconfig rabbitmq-server on
三、RabbitMQ配置
rabbitmq-env.conf配置
RABBITMQ_NODE_IP_ADDRESS= //IP地址,空串bind所有地址,指定地址bind指定网络接口 RABBITMQ_NODE_PORT= //TCP端口号,默认是5672 RABBITMQ_NODENAME= //节点名称。默认是rabbit RABBITMQ_CONFIG_FILE= //配置文件路径 ,即rabbitmq.config文件路径 RABBITMQ_MNESIA_BASE= //mnesia所在路径 RABBITMQ_LOG_BASE= //日志所在路径 RABBITMQ_PLUGINS_DIR= //插件所在路径 |
rabbitmq.conf配置
如果是用rpm包安装,则可以从默认docs目录复制配置文件样例:
/usr/share/doc/rabbitmq-server-3.6.0
常用配置如下:
tcp_listerners #设置rabbimq的监听端口,默认为[5672]。 disk_free_limit #磁盘低水位线,若磁盘容量低于指定值则停止接收数据,默认值为{mem_relative, 1.0},即与内存相关联1:1,也可定制为多少byte. vm_memory_high_watermark #设置内存低水位线,若低于该水位线,则开启流控机制,默认值是0.4,即内存总量的40%。 hipe_compile #将部分rabbimq代码用High Performance Erlang compiler编译,可提升性能,该参数是实验性,若出现erlang vm segfaults,应关掉。 force_fine_statistics #该参数属于rabbimq_management,若为true则进行精细化的统计,但会影响性能。 frame_max #包大小,若包小则低延迟,若包则高吞吐,默认是131072=128K。 heartbeat #客户端与服务端心跳间隔,设置为0则关闭心跳,默认是600秒。 |