Linux下RabbitMQ安装、运行与管理
Linux下RabbitMQ安装、运行与管理
安装erlang
RabbitMQ的安装需要Erlang的基础环境,必须按照RabbitMQ Erlang版本要求进行安装。
关于Erlang官方的安装方式有三种: 官方制作的依赖软件包 Erlang Solutions的软件包(这个可以自定义yum库安装,本人自己下载安装) EPEL(“Enterprise Linux的额外软件包”)
1.依赖环境安装
yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel unixODBC unixODBC-devel httpd python-simplejson
2.获取安装文件
wget http://erlang.org/download/otp_src_19.2.tar.gz
3.解压erlang安装包
tar -xzvf otp_src_19.2.tar.gz
4. cd erlang目录
cd otp_src_19.2
5.编译安装erlang语言环境--prefix=/usr/local/erlang为安装目录
./configure --prefix=/usr/local/erlang
6.编译安装
make && make install
7.配置环境变量
vi /etc/profile export PATH=$PATH:/usr/local/erlang/bin source /etc/profile
8.验证是否安装成功
erl
安装RabbitMQ
安装指南 安装版本选择:
1.cd到指定目录
cd /usr/local //切换到计划安装RabbitMQ的目录,我这里放在/usr/local
2.下载
wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.1/rabbitmq-server-generic-unix-3.6.1.tar.xz //下载RabbitMQ安装包
3.解压
xz -d rabbitmq-server-generic-unix-3.6.1.tar.xz
tar -xvf rabbitmq-server-generic-unix-3.6.1.tar
4.改名
mv rabbitmq_server-3.6.1/ rabbitmq
5.配置rabbitmq环境变量
vi /etc/profile #set rabbitmq environment export PATH=$PATH:/usr/local/rabbitmq/sbin source /etc/profile
RabbitMQ 运行和管理
运行常用命令
//常用的rabbitmq的命令 service rabbitmq-server start service rabbitmq-server stop service rabbitmq-server status service rabbitmq-server rotate-logs| service rabbitmq-server restart service rabbitmq-server condrestart service rabbitmq-server try-restart service rabbitmq-server reload service rabbitmq-server force-reload service rabbitmq-server -detached //后台启动 ps -ef | grep rabbitmq 查看rabbitMq进程 netstat -anplt | grep LISTEN rabbitmq默认监听端口15672/5672
web管理
15672 网页管理, 5672 AMQP端口
rabbitmq默认创建的用户guest,密码也是guest,这个用户默认只能是本机访问,localhost或者127.0.0.1,从外部访问需要添加上面的配置。
//先创建目录,以免报错
mkdir /etc/rabbitmq
//开启管理页面插件
rabbitmq-plugins enable rabbitmq_management
管理插件安装完成后,出现如下提示,表示安装成。 The following plugins have been enabled: mochiweb webmachine rabbitmq_web_dispatch amqp_client rabbitmq_management_agent rabbitmq_management Plugin configuration has changed. Restart RabbitMQ for changes to take effect.
重启rabbitmq服务
service rabbitmq-server restart
可以用浏览器输入localhost:15672,账号密码全输入guest即可登录
配置防火墙
配置linux 端口 15672 网页管理 5672 AMQP端口:
firewall-cmd --permanent --add-port=15672/tcp firewall-cmd --permanent --add-port=5672/tcp systemctl restart firewalld.service
管理常用命令
查看mq用户:rabbitmqctl list_users 查看用户权限:rabbitmqctl list_user_permissions guest 新增用户: rabbitmqctl add_user admin 123456 赋予管理员权限: rabbitmqctl set_user_tags admin administrator rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"
可以创建管理员用户,负责整个MQ的运维,例如: rabbitmqctl add_user user_admin passwd_admin 赋予其administrator角色: rabbitmqctl set_user_tags user_admin administrator 可以创建RabbitMQ监控用户,负责整个MQ的监控,例如: rabbitmqctl add_user user_monitoring passwd_monitor 赋予其monitoring角色: rabbitmqctl set_user_tags user_monitoring monitoring 可以创建某个项目的专用用户,只能访问项目自己的virtual hosts sudo rabbitmqctl add_user user_proj passwd_proj 赋予其monitoring角色: rabbitmqctl set_user_tags user_proj management 创建和赋角色完成后查看并确认: rabbitmqctl list_users
RabbitMQ用户角色及权限控制 1.RabbitMQ的用户角色分类: none、management、policymaker、monitoring、administrator 2.RabbitMQ各类角色描述: none 不能访问 management plugin management 用户可以通过AMQP做的任何事外加: 列出自己可以通过AMQP登入的virtual hosts 查看自己的virtual hosts中的queues, exchanges 和 bindings 查看和关闭自己的channels 和 connections 查看有关自己的virtual hosts的“全局”的统计信息,包含其他用户在这些virtual hosts中的活动。 policymaker management可以做的任何事外加: 查看、创建和删除自己的virtual hosts所属的policies和parameters monitoring management可以做的任何事外加: 列出所有virtual hosts,包括他们不能登录的virtual hosts 查看其他用户的connections和channels 查看节点级别的数据如clustering和memory使用情况 查看真正的关于所有virtual hosts的全局的统计信息 administrator policymaker和monitoring可以做的任何事外加: 创建和删除virtual hosts 查看、创建和删除users 查看创建和删除permissions 关闭其他用户的connections