Linux Centos7安装RabbitMQ
Linux Centos7安装RabbitMQ
本文主要记录一种简单易上手的安装RabbitMQ的方法,以及对安装、运行过程中遇到的几个问题做简要记录
需要安装包
- erlang运行环境RPM包;
- rabbitmq服务器程序RPM包。
安装包下载
- 注意rabbitmq与erlang的版本依赖,依赖关系可以在RabbitMQ官网的这里找到;
- 在RabbitMQ官网的这里可以找到最新版本的RabbitMQ的下载地址,CentOS7下载点击如下图所示的位置:
- erlang的运行环境rpm包可以在这里下载,点击页面最上方的download按钮,在页面的中部点击下载,如下图所示:
- 下载完成以后文件大致如下:
rabbitmq-server-3.7.13-1.el7.noarch.rpm
、esl-erlang_21.0-1~centos~7_amd64.rpm
。
安装
- 使用xshell或者其他工具连接目标服务器;
- 使用
mkdir -p /usr/local/rpm
新建目录用于存放rpm包; - 使用
cd
命令进入新建的目录,通过xftp或者其他工具将下载的两个rpm包上传到服务器指定目录下; - 使用如下命令安装erlang,
rpm -ivh --nodeps esl-erlang_21.0-1~centos~7_amd64.rpm
; - 使用如下命令安装rabbitmq,
rpm -ivh --nodeps rabbitmq-server-3.7.13-1.el7.noarch.rpm
; - 这样的安装不需要做环境变量等的配置。
RabbitMQ简单设置
- 启动控制台,
rabbitmq-plugins enable rabbitmq_management
- 开启远程访问,rabbitmq默认创建的用户guest,密码也是guest,这个用户默认只能是本机访问,localhost或者127.0.0.1。当在服务器上安装RabbitMQ,在自己的电脑上通过guest登录后台管理页面的时候,会发现登录不上,就是上面说的原因。
- 解决方案一:
cd /etc/rabbitmq/
vim rabbitmq.config
- 在文件中写入如下语句,
[{rabbit, [{loopback_users, []}]}].
- 重启RabbitMQ服务
- 解决方案二:
- 新建用户,
rabbitmqctl add_user 用户名 密码
- 分配用户标识(直接赋予administrator标识),
rabbitmqctl set_user_tags 用户名 administrator
- 设置权限,
rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"
- 如果想让新添加的用户只能本地访问,可以修改方案一的配置文件,如下:
[{rabbit, [{loopback_users, ["用户名"]}]}].
- 新建用户,
- 解决方案一:
RabbitMQ启动
- 直接启动:
rabbitmq-server
- 后台启动:
rabbitmq-server -detached
RabbitMQ启动过程中的几个小问题
Protocol ‘inet_tcp’: register/listen error: epmd_close
解决方案如下:
- 查看iptables,
iptables -t nat -L -n --line-numbers
; - 注意查看两个ROUTING链下面是否有规则;
- 例如POSTROUTING下面有MASQUERADE规则,通过
iptables -t nat -D POSTROUTING 1
删除改规则,1为查看iptables时显示的行号。
/var/lib/rabbitmq路径下面的各种文件的操作权限问题
原因是该路径属于root,rabbitmq没有权限,使用下面的语句授权:chown -R rabbitmq:rabbitmq /var/lib/rabbitmq/
。