CentOS7下RabbitMQ安装
到RabbitMQ官网下载安装包,根据平台和系统选择对应的安装包,本次采用二进制安装包进行安装,下载地址:https://www.rabbitmq.com/install-generic-unix.html。
由安装介绍可知,需要先安装Erlang,并且对不同的RabbitMQ版本对Erlang的版本要求不一致,具体可查看:https://www.rabbitmq.com/which-erlang.html。
到Erlang官网下载对应版本的安装包,下载地址:https://www.erlang.org/downloads
1. Erlang安装
-
解压安装包。
tar xzvf otp_src_23.0.tar.gz
-
检查软件运行环境并对软件进行配置。
./configure --prefix=/usr/local/erlang --with-ssl --enable-threads --enable-smp-support --enable-kernel-poll --enable-hipe --without-javac
–prefix:指定安装目录
–with-ssl:openssl的扩展库
–enable-threads:启用异步线程支持
–enable-smp-support:启用对称多处理支持
–enable-kernel-poll:启用linux内核poll
–enable-hipe:启用高性能Erlang
-
安装依赖,Erlang需支持ssl,RabbitMQ安装插件、启动时需要该功能支持。若上一步执行后报错缺失某些依赖,使用yum安装完成后再重新执行上一步命令。
yum install -y openssl yum install -y openssl-devel
-
编译并安装。
make && make install
-
配置环境变量,将下面两行添加到
/etc/profile
最后面,保存退出后执行source /etc/profile
使其生效。ERL_PATH=/usr/local/erlang/bin PATH=$ERL_PATH:$PATH
-
查看Erlang是否成功,输入
erl
,出现Erlang输入界面表示安装成功
2. RabbitMQ安装
-
创建用户,用于安装RabbitMQ
useradd rabbit passwd rabbit su - rabbit
-
解压安装包。
tar xvf rabbitmq-server-generic-unix-3.8.5.tar.xz
-
配置环境变量,将如下内容添加到
$HOME/.bash_profile
文件最后,保存退出后执行source $HOME/.bash_profile
使其生效RBM=/home/rabbit/rabbitmq_server-3.8.5/sbin PATH=$RBM:$PATH export RBM PATH
-
添加WEB管理插件
rabbitmq-plugins enable rabbitmq_management
-
添加RabbitMQ配置文件
- RabbitMQ默认不带配置文件
- 将官网在GitHub上的配置文件复制/下载一份,命名为rabbitmq.conf。GitHub地址:https://github.com/rabbitmq/rabbitmq-server/blob/master/docs/rabbitmq.conf.example
- 上传到
rabbitmq_server-3.8.5/etc/rabbitmq
目录下
-
修改配置文件(可选)
management.tcp.port = 15672 # WEB管理界面的默认监听端口 loopback_users.guest = false # WEB管理界面默认用户密码是guest/guest,但是默认只允许本机登录。修改为false可在任何机器上登录访问 listeners.tcp.default = 5672 # RabbitMQ的默认监听端口
-
启动RabbitMQ
rabbitmq-server -detached
-
访问RabbitMQ的WEB管理界面, http://localhost:15672
3. RabbitMQ常用命令
-
启动命令:
rabbitmq-server -detached
-
停止命令:
rabbitmqctl stop 或 rabbitmqctl shutdown
-
查看RabbitMQ状态
rabbitmqctl status
4. 常见错误
4.1 Erlang未支持ssl
-
添加RabbitMQ的WEB管理插件(
rabbitmq-plugins enable rabbitmq_management
)时报错
-
此时在Erlang里执行
ssl:versions().
命令,报错如下
-
删除已安装的Erlang,并按照1. Erlang安装里的步骤重新安装
rm -rf /usr/local/erlang # Erlang安装目录 cd /root/otp_src_23.0 # Erlang安装包解压路径 make clean
-
安装完成后重新执行
ssl:version().
命令,显示如下内容,表示安装成功。