基于centos7的rabbitmq搭建
1.环境准备
1.1 centos7服务器(虚拟机)。
1.2 erlang及rabbitmq安装包。因为rabbitmq是基于erlang语言开发的,所以必须安装erlang语言环境。
1.2.1进入网站http://www.rabbitmq.com/download.html进行下载rabbit安装包。
1.2.2 进入网站https://www.erlang-solutions.com/resources/download.html下载erlang语言包。
1.2.3 当然如果为了方便,可以通过https://download.****.net/download/oyinhezhiguang/10640843下载,不过需要2积分。
1.2.4下载后的得到esl-erlang_21.0-1~centos~7_amd64.rpm和rabbitmq-server-3.7.7-1.el7.noarch.rpm两个文件。
1.3 将文件拷贝到centos7的一台虚拟机上,我的拷贝位置为/usr/local/temp(默认系统没有temp一级文件夹,可手动创建)。
2.安装单机版Rabbitmq
2.1 安装erlang语言包,执行命令rpm -ivh --nodeps esl-erlang_21.0-1~centos~7_amd64.rpm。
2.2 安装rabbitmq安装包,执行命令rpm -ivh --nodeps rabbitmq-server-3.7.7-1.el7.noarch.rpm。
2.3 启用rabbitmq的控制台。rabbitmq-plugins enable rabbitmq_management。
2.4 启动rabbitmq服务。执行命令rabbitmq-server
2.5 有时候会出现如下错误format: "Error when reading /var/lib/rabbitmq/.erlang.cookie: eacces",因为此文件没有访问权限。此时需要执行语句 chown rabbitmq:rabbitmq /var/lib/rabbitmq/.erlang.cookie.
2.6 有时候会出现如下错误。
2.6.1 进入文件夹/etc/rabbitmq,
2.6.2 创建文件rabbitmq-env.conf,并在文件中写入[email protected]。
2.7 重新启动rabbitmq-server,当出现“completed with 3 plugins.”说明启动成功。
2.8 此时启动rabbitmq是前台启动,我们需要进行一些设置。
2.8.1 开放端口5672和15672两个端口。
systemctl --zone=public --add-port=5672/tcp --permanent
systemctl --zone=public --add-port=15672/tcp --permanent
systemctl restart firewalld(重启防火墙)
2.8.2 修改配置文件。默认情况下,rabbitmq为了安全考虑,guest用户只能在本机登录,通过修改配置文件,可以实现远程登录guest超级用户登录。
1)进入rabbit安装目录/usr/lib/rabbitmq/lib/rabbitmq_server-3.7.7/ebin。
2)通过vim编辑器打开rabbit.app。找到"loopback_users"位置(默认在39行),删除<<"guest">>即可。
2.9 启动rabbit.并在网页打开,http://192.168.10.20:15672
2.10 设置开机自启
chkconfig rabbitmq-server on
2.11 rabbitmq常用命令
1)rabbitmq-server === 前台启动rabbitmq服务。
2) rabbitmq-server -detached === 后台启动rabbitmq服务。
3) rabbitmqctl stop === 停止rabbitmq服务。
4) rabbitmqctl stop_app === 暂停rabbitmq服务使用,实际并没有停止进程,一般用于搭建集群配置时候使用。
5) rabbitmqctl add_user {usrename} {password} === 创建用户
6) rabbitmqctl delete_user {username} === 删除用户
7) rabbitmqctl change_password {username} {newpassword} === 更改密码
8)rabbitmqctl set_user_tags {username} {tag} === 赋予用户角色。
tags:
超级管理员(administrator)
登陆管理控制台(启用management plugin的情况下),可查看所有的信息,并且可以对用户、策略进行操作。
监控者(monitoring)
登陆管理控制台(启用management plugin的情况下),同时可以查看rabbitmq节点的相关信息(进程数、内存使用情况,磁盘使用情况等)
策略制定者(policymaker)
登陆管理控制台(启用management plugin的情况下),同时可以对policy进行管理。但是无法查看节点的相关信息。
普通管理者(management)
登陆管理控制台(启用management plugin的情况下),无法看到节点信息,也无法对策略进行管理。
9) rabbitmqctl set_permissions -p / user_admin '.*' '.*' '.*' === 设置用户允许访问的虚拟主机。
-p:虚拟主机路径参数 /根路径虚拟主机。
user_admin: 用户名
'.*' '.*' '.*':配置权限、读权限、写权限。