RabbitMQ——Linux环境安装配置指南
Erlang安装
由于RabbitMQ是基于Erlang开发,所以需要安装Erlang环境,可以到官网上下载安装,也可以使用rpm命令安装:
yum -y install gcc glibc-devel make ncurses-devel openssl-devel xmlto perl wget #依赖文件安装
wget http://erlang.org/download/otp_src_20.3.tar.gz #下载erlang包
tar -xvf otp_src_20.3.tar.gz
cd otp_src_20.3/
./configure --with-ssl=/opt/ssl/ --prefix=/opt/erlang --without-javac #安装配置
make && make install
在/etc/profile下追加:
ERLANG_HOME=/opt/erlang
export PATH=$PATH:$ERLANG_HOME/bin
export ERLANG_HOME
在控制台中输入erl如果进入shell则证明安装成功。
RabbitMQ安装
可以使用rpm命令安装,也可以到官网下载源码包安装:
wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.15/rabbitmq-server-generic-unix-3.6.15.tar.xz
xz -d rabbitmq-server-generic-unix-3.6.15.tar.xz
tar -xvf rabbitmq-server-generic-unix-3.6.15.tar -C /opt
mv /opt/rabbitmq_server-3.6.15/ /opt/rabbitmq #改个名字
在/etc/profile下追加:
export PATH=$PATH:/opt/rabbitmq/sbin
执行“source /etc/profile”使更改生效,管理命令如下:
启动服务:rabbitmq-server -detached #后台运行会提示Warning: PID file not written; -detached was passed.参见[文档](http://www.rabbitmq.com/rabbitmq-server.8.html)
查看状态:rabbitmqctl status
关闭服务:rabbitmqctl stop
列出角色:rabbitmqctl list_users
RabbitMQ配置
配置网页插件
mkdir /etc/rabbitmq
rabbitmqctl start_app
rabbitmq-plugins enable rabbitmq_management
配置防火墙
firewall-cmd --permanent --add-port=15672/tcp
firewall-cmd --permanent --add-port=5672/tcp
systemctl restart firewalld.service
配置网页插件的时候出错提示缺少“crypto”插件,这个问题是由erlang的crypto与最新的openssl模块不兼容导致的,需要重新安装
wget http://www.openssl.org/source/openssl-1.0.1f.tar.gz
tar zxvf openssl-1.0.1f.tar.gz
cd openssl-1.0.1f
./config --prefix=/opt/ssl
修改Makefile中的CFLAG,加上-fPIC
CC= gcc
CFLAG= -fPIC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -Wa,--noexecstack -m64 -DL_ENDIAN -DTERMIO -O3 -Wall -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM
继续编译安装:
make && make install_sw
按照Erlang的安装步骤,重新安装Erlang即可,需要注意的是重新安装时,需要在make install之前先make clean
make clean
./configure --with-ssl=/opt/ssl/ --prefix=/opt/erlang --without-javac
make && make install
配置管理页帐号及权限用户
通过IP+15672端口,就可以进入到RabbitMQ的WEB管理页面,这时候会弹出一个登录页,需要我们添加用户权限后才能访问:
rabbitmqctl add_user admin admin #添加用户名密码
rabbitmqctl set_permissions -p / admin ".*" ".*" ".*" #添加权限
rabbitmqctl set_user_tags admin administrator #修改用户角色
登录成功后删除guest user就基本安装完成了,后续补充RabbitMQ集群的配置。
常见错误
重启了下电脑,再次启动就悲剧了,报“unable to connect to node rabbit@xxx: nodedown”坑爹错,网上有人说是HOSTName的问题,试了下没啥用,解决方案如下:
rabbitmq-server stop
rabbitmq-server start
又重启了一下,又悲剧了,报“erl: 未找到命令”错误,这是一个PATH问题,先通过:
sudo which erl
#which: no erl in (/sbin:/bin:/usr/sbin:/usr/bin)
查看到确实没有找到erlang的erl命令,那么重新配置一下好了:
sudo ln -s /usr/local/bin/erl /usr/bin/erl