这里只介绍手动源码编译安装,特别是内网服务器器没有接入英特网时,先下载好安装文件通过ftp上传到指定目录然后,解压编译安装,操作步骤如下:
安装依赖包
安装GCC GCC-C++ Openssl等模块,安装过就不需要安装了
yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel
安装ncurses
官网下载地址:http://ftp.gnu.org/gnu/ncurses/
我选择的是最新版本:http://ftp.gnu.org/gnu/ncurses/ncurses-6.0.tar.gz
wget http://ftp.gnu.org/gnu/ncurses/ncurses-6.0.tar.gz
tar -zxvf ncurses-6.0.tar.gz
cd ncurses-6.0
./configure --with-shared --without-debug --without-ada --enable-overwrite
make
make install
检查是否安装openssl
openssl version
如果有安装则显示openssl版本号,未安装则戳这里的安装教程
安装Erlang环境
安装erlang,官网下载地址:https://www.erlang.org/downloads ,选择自己喜欢的版本(建议慎选最新版本,可能存在兼容问题)
wget http://erlang.org/download/otp_src_18.2.1.tar.gz
tar xvfz otp_src_18.2.1.tar.gz
cd otp_src_18.2.1
./configure --prefix=/usr/local/erlang --without-javac --with-ssl
make
make install
安装RabbitMQ
官网下载地址:https://www.rabbitmq.com/releases/rabbitmq-server/ 选择你喜欢的版本
wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.9/rabbitmq-server-generic-unix-3.6.9.tar.xz
对rabbitmq包进行解压:
xz -d rabbitmq-server-generic-unix-3.6.9.tar.xz
tar -xvf rabbitmq-server-generic-unix-3.6.9.tar
随后移动至/usr/local/下 改名rabbitmq:
mv rabbitmq_server-3.6.9 /usr/local/rabbitmq
这种下载的方式解压后直接可以使用,无需再编译安装
配置环境变量
vim ~/.bash_profile
添加Erlang和RabbitMQ路径到PATH:/usr/local/erlang/bin:/usr/local/rabbitmq/sbin
然后保存退出,执行如下命令使得PATH路径更新
source ~/.bash_profile
检查Erlang是否安装成功,执行erl命令
erl
启用MQ管理
rabbitmq-plugins enable rabbitmq_management #启动后台管理
rabbitmq-server -detached #后台运行rabbitmq
验证
打开浏览器,按如下形式访问后台,默认账号密码登录只能用于本地(127.0.0.1)访问登录,如果是远程登录需要重新添加一个账号,并设置角色,设置最下方的用户见基础命令。
http://ip地址:15672/#/
默认账号:guest
默认密码:guest
RabbitMQ的简单指令
启动服务:rabbitmq-server -detached【 /usr/local/rabbitmq/sbin/rabbitmq-server -detached 】
重启服务:rabbitmq-server restart
关闭服务:rabbitmqctl stop
查看状态:rabbitmqctl status
列出角色:rabbitmqctl list_users
开启某个插件:rabbitmq-pluginsenable xxx
关闭某个插件:rabbitmq-pluginsdisablexxx
注意:重启服务器后生效。
基础命令
集群配置相关命令
rabbitmqctl stop_app
rabbitmqctl reset
在当前集群中加入某节点:rabbitmqctl join_cluster {rabbit_node_name} (某些低版本可以采用rabbitmqctl cluster {rabbit_node_name})
rabbitmqctl start_app
集群状态:rabbitmqctl cluster_status
将某节点剔除出当前集群:rabbitmqctl forget_cluster_node {rabbit_node_name}
插件管理
开启某个插件: rabbitmq-plugins enable {插件名}
关闭某个插件: rabbitmq-plugins disable {插件名}
有关插件名可以在rabbitmq的安装目录下的plugins目录中查看:$RABBITMQ_HOME/plugins
举例:
rabbitmq-plugins enable rabbitmq_management
rabbitmq-plugins list
用户管理
添加用户:rabbitmqctl add_user {username} {password}
删除用户:rabbitmqctl delete_user {username}
修改密码:rabbitmqctl change_password {username} {newpassword}
设置用户角色:rabbitmqctl set_user_tags {username} {tag}
tag可以为administrator, monitoring, management
举例:
rabbitmqctl add_user root root
rabbitmqctl set_user_tags root administrator
rabbitmqctl list_users
权限管理
权限设置:rabbitmqctl set_permissions [-p vhostpath] {user} {conf} {write} {read}
conf:一个正则表达式match哪些配置资源能够被该用户访问。
write:一个正则表达式match哪些配置资源能够被该用户读。
read:一个正则表达式match哪些配置资源能够被该用户访问。
查看(指定vhost)所有用户的权限信息:rabbitmqctl list_permissions [-p vhostPath]
查看指定用户的权限信息:rabbitmqctl list_user_permissions {username}
清除用户的权限信息: rabbitmqctl clear_permissions [-p vhostPath] {username}