RabbitMQ 安装——RPM 和 TAR 两种方式
图版:https://www.cnblogs.com/christmad/p/11588296.html
RPM 方式安装
准备条件:
为安装准备一些基本工具,有些 linux 服务器可能是精简安装。
yum install build-essential openssl openssl-devel unixODBC unixODBC-devel make gcc gcc-c++ kernel-devel m4 ncurses-devel tk tc xz
我的机器在虚拟机中安装时选了一些组件(中文安装提示,其实我也无法确定是不是已经包含了所需的东西),rpm 过程中没有提示缺少包,因此我略过了这一步
第一步:下载 erlang、socat、rabbitmq
wget www.rabbitmq.com/releases/erlang/erlang-18.3-1.el7.centos.x86_64.rpm
wget http://repo.iotti.biz/CentOS/7/x86_64/socat-1.7.3.2-5.el7.lux.x86_64.rpm
wget www.rabbitmq.com/releases/rabbitmq-server/v3.6.5/rabbitmq-server-3.6.5-1.noarch.rpm
第二步:安装
rabbitmq 最后一个安装
rpm -ivh erlang-18.3-1.el7.centos.x86_64.rpm
rpm -ivh socat-1.7.3.2-5.el7.lux.x86_64.rpm
rpm -ivh rabbitmq-server-3.6.5-1.noarch.rpm
第三步:启用 web 管控台插件
rabbitmq-plugins enable rabbitmq_management
第四步:调整 guest 账户登录限制
修改:vim /usr/lib/rabbitmq/lib/rabbitmq_server-3.6.5/ebin/rabbit.app
修改 loopback_users 中的 [<<"guest">>], 只保留 []
其他修改如
修改:heartbeat 为 5,单位为秒
第五步:启动/停止 rabbitmq
rabbitmq-server 命令:/etc/init.d/rabbitmq-server start stop status restart
使用 rabbitmq-server start & 以后台方式启动 rabbitmq
停止 rabbitmq 服务:rabbitmqctl stop_app
通常会失败... 用 ps -ef|grep rabbit 找出进程号 kill -9 强杀
当出现 node rabbit is running 警告时也用 kill -9 解决
其他配置/操作:
添加自定义配置文件:/etc/rabbitmq/rabbitmq.config
RPM安装方式的默认日志路径
/var/log/rabbitmq
目录下有两个文件
rabbit@node1.log
rabbit@node1-sasl.log
在 broker 启动时有输出提示
访问 web 管控台
个人学习时建议直接关闭防火墙,没必要单独开放端口
systemctl stop firewalld.service
只是暂时关闭防火墙,系统重启后需要再手动关闭
访问URL:
http://192.168.33.51:15672
ip 替换为自己的
修改了 guest 账户的 IP 访问限制后,后续可以通过管控台添加用户,配置(administrator 或 management)权限即可
tar 方式安装(同《RabbitMQ实战指南》安装版本)
分别到官网下载 erlang、rabbitmq 安装包
erlang 安装包:
otp_src_19.3.tar.gz
rabbitmq 安装包:
rabbitmq-server-generic-unix-3.6.10.tar.xz
第一步:安装 erlang
tar zxvf otp_src_19.3.tar.gz
cd otp_src_19.3
./configure --prefix=/opt/erlang
如果这一步发生 error,且提示为“No curses library functions found”,则需要安装 ncurses:
yum install ncurses-devel
安装完后重新 ./configure
其他缺失的工具:
yum install openssl openssl-devel unixODBC unixODBC-devel gcc gcc-c++
gcc 编译器可以代替 javac 编译器,./configure 时 disable 信息中会有提示需要 javac 编译器,可以用 gcc 代替
PS:前面 RPM 安装方式中有一个更全的 yum install 列表,其中也包含了上述工具,但更全,不放心的话可以直接使用 RPM 安装中提供的 yum install 列表
yum 安装缺失的工具后要重新 ./configure --prefix=/opt/erlang
make
make install
不出意外的话,安装成功
第二步:手动添加 erlang 环境变量
vi /etc/profile
添加以下变量:
export ERLANG_HOME=/opt/erlang
export PATH=$PATH:$ERLANG_HOME/bin
source /etc/profile
检验 erlang 是否安装成功:
输入 erl 命令,看到以下输出的话表示安装成功:
Erlang/OTP 19 [erts-8.3] [source] [64-bit] [smp:4:4] [async-threads:10] [hipe] [kernel-poll:false]
第三步:安装 RabbitMQ
安装包 rabbitmq-server-generic-unix-3.6.10.tar.xz 为 xz,需要先用 xz 工具解压,获得 .tar 压缩文件
xz -d rabbitmq-server-generic-unix-3.6.10.tar.xz
tar -xvf rabbitmq-server-generic-unix-3.6.10.tar -C /opt
cd /opt
mv rabbitmq_server-3.6.10 rabbitmq
至此解压完成
第四步:手动添加 RabbitMQ 环境变量
vi /etc/profile
添加以下变量:
export RABBITMQ_HOME=/opt/rabbitmq
export PATH=$PATH:$RABBITMQ_HOME/sbin
source /etc/profile
检验 rabbitmq 是否安装成功:
以后守护进程方式启动 rabbitmq
rabbitmq-server -detached
rabbitmqctl status
查看 rabbitmq 节点状态,有正常信息输出表示安装、启动成功
取消 guest 用户 localhost 登录限制
vi /opt/rabbitmq/ebin/rabbit.app
输入查找命令:
?loopback
将 [<<"guest">>] 改为 []
日志目录
########## Logs: /opt/rabbitmq/var/log/rabbitmq/rabbit@node-0.log
###### ## /opt/rabbitmq/var/log/rabbitmq/rabbit@node-0-sasl.log
其他操作/配置:
启动/停止 rabbitmq
rabbitmq-server 命令:
/etc/init.d/rabbitmq-server start stop status restart
使用 rabbitmq-server start & 以后台方式启动 rabbitmq
停止 rabbitmq 服务:
rabbitmqctl stop_app
通常会失败... 用 ps -ef|grep rabbit 找出进程号 kill -9 强杀
当出现 node rabbit is running 警告时也用 kill -9 解决
访问 web 管控台
个人学习时建议直接关闭防火墙,没必要单独开放端口
systemctl stop firewalld.service
只是暂时关闭防火墙,系统重启后需要再手动关闭
启用 web 管控台插件
rabbitmq-plugins enable rabbitmq_management
访问URL:
http://192.168.33.51:15672
取消 guest 用户 localhost 登录限制
修改了 guest 账户的 IP 访问限制后,后续可以通过管控台添加用户,配置(administrator 或 management)权限即可
vi /opt/rabbitmq/ebin/rabbit.app
输入查找命令:?loopback
将 [<<"guest">>] 改为 []