CentOS7下安装RabbitMq

RabbitMq官方安装指南:http://www.rabbitmq.com/install-rpm.html#downloads

其它博客参考:https://www.jianshu.com/p/ce725e41edab

之前尝试过其它方式安装过,但是安装失败了,尝试几次修复,都失败了。

失败原因和erlang环境有关。最后我还是选择了yum安装方式。

一、安装Erlang环境:

1,RabbitMq和Erlang兼容性指南

正式环境安装时,必须认真的看下,避免以后的麻烦:http://www.rabbitmq.com/which-erlang.html

部分兼容性如下图所示,可以用谷歌网页翻译一下:

2,Erlang下载官网(访问可能需要vpn支持):https://packagecloud.io/rabbitmq/erlang

页面部分截图如下

3,我要安装3.7.8的RabbitMq,按照兼容性要求,个人选择了erlang-21.0.9-1.el7.centos.x86_64.rpm

4,安装erlang:

yum install erlang-21.0.9-1.el7.centos.x86_64.rpm

二、安装RabbitMq

1,下载rabbitmq:rabbitmq-server-3.7.8-1.el7.noarch.rpm

下载路径:http://www.rabbitmq.com/install-rpm.html#downloads

2,安装rabbitmq:

yum install rabbitmq-server-3.7.8-1.el7.noarch.rpm

安装过程中可能会出现,没有socat依赖的错误

解决办法如下:

(1)执行如下操作

yum -y install epel-release

(2)再执行如下操作

yum -y install socat

安装完成。

三、RabbitMq的相关命令

$ sudo chkconfig rabbitmq-server on  # 添加开机启动RabbitMQ服务
$ sudo /sbin/service rabbitmq-server start # 启动服务
$ sudo /sbin/service rabbitmq-server status  # 查看服务状态
$ sudo /sbin/service rabbitmq-server stop   # 停止服务

# 查看当前所有用户
$ sudo rabbitmqctl list_users

# 查看默认guest用户的权限
$ sudo rabbitmqctl list_user_permissions guest

# 由于RabbitMQ默认的账号用户名和密码都是guest。为了安全起见, 先删掉默认用户
$ sudo rabbitmqctl delete_user guest

# 添加新用户
$ sudo rabbitmqctl add_user username password

# 设置用户角色权限(tag)
$ sudo rabbitmqctl set_user_tags username administrator

# 赋予用户默认vhost的全部操作权限
$ sudo rabbitmqctl set_permissions -p / username ".*" ".*" ".*"

# 查看用户的权限
$ sudo rabbitmqctl list_user_permissions username

四、开启web管理接口

$ sudo rabbitmq-plugins enable rabbitmq_management

通过浏览器访问:http://localhost:15672。就可以看到mq的后台管理页面了。

默认账户密码:guest/guest

五、RabbitMQ的配置文件

官方配置文件的简绍:https://www.rabbitmq.com/configure.html#configuration-files

rabbitmq.conf配置模板:https://github.com/rabbitmq/rabbitmq-server/blob/master/docs/rabbitmq.conf.example

advanced.conf配置模板:https://github.com/rabbitmq/rabbitmq-server/blob/master/docs/advanced.config.example

下载下来放到:/etc/rabbitmq/rabbitmq.conf目录下。重启mq就行。

一般情况下配置mq使用sysctl格式的命令行(比如上面用到的:rabbitmqctl)就行,

或者在配置文件里rabbitmq.conf修改相关属性即可。

按照官方说法,advanced.conf是对rabbitmq.conf和sysctl命令行的扩充。

即当rabbitmq.conf和sysctl命令行,不太好使用时,就可以用advanced.conf来进行扩展。

下面是官方对advanced.conf的部分解释说明:


Some configuration settings are not possible or are difficult to configure using the sysctl format. As such, it is possible to use an additional config file in the Erlang term format (same as rabbitmq.config). That file is commonly named advanced.config. It will be merged with the configuration provided in rabbitmq.conf.


我将配置文件放到/etc/rabbitmq/rabbitmq.conf后,启动rabbitmq失败。

错误日志:

Error: unable to perform an operation on node 'rabbit@localhost'. Please see diagnostics information and suggestions below.

导致这个错误的原因应该是:我没有开放15672的端口,由于我是本地测试,我直接关闭了centos的防火墙。

验证rabbitmq.conf有没有生效,rabbitmq.conf部分修改如下:

-----------------上文省略---------------------------------------------------------
## Uncomment the following line if you want to allow access to the
## guest user from anywhere on the network.
# loopback_users.guest = false

loopback_users.guest = none

## TLS configuration.
##
## Related doc guide: http://rabbitmq.com/ssl.html.
##
# ssl_options.verify               = verify_peer
# ssl_options.fail_if_no_peer_cert = false
# ssl_options.cacertfile           = /path/to/cacert.pem
# ssl_options.certfile             = /path/to/cert.pem
# ssl_options.keyfile              = /path/to/key.pem
-----------------下文省略---------------------------------------------------------

重启RabbitMq之后,非本地也可以用guest登录了。如果再次删掉那行,重启之后,你会发现guest账户被自动退出。

 

最后,由于本人能力有限,写错的地方,请多多指正。

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值