RabbitMQ 是当今最主流的消息中间件之一。它是一个开源的AMQP实现,服务器端用Erlang语言编写,支持多种客户端,如:Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、XMPP、STOMP等,支持AJAX。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现优异。
在安装rabbitmq的时候需要注意rabbitmq 和erlang版本的关系,如果两者关系不一一对应的话,那么会导致出错的。
rabbitmq 版本和 erlang 的关系
我们接下来的安装的版本和环境是:
rabbit-server 默认使用的端口 :
5672(AMQP端口) 和15672(web),还有其他不常用端口未列出,见官网。
如在公网上访问,需要开放这两个端口。
2.1 安装依赖包
yum -y install make gcc gcc-c++ m4 ncurses-devel openssl-devel unixODBC-devel2.2 下载erlang依赖包
cd /tmp && wget2.3 解压
tar xzf otp_src_21.2.tar.gz2.4 创建文件夹
mkdir /usr/local/erlang2.5 编译并安装erlang
cd otp_src_21.2 ./configure --prefix=/usr/local/erlang --without-javac make && make install2.6 添加环境变量
vi + /etc/profile # 添加以下内容 export PATH=$PATH:/usr/local/erlang/bin2.7 让环境变量生效
source /etc/profile2.8 检验安装
erl -version # 能够正确输出下面的内容表示安装完成 Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 10.2 三 rabbitmq rpm安装 (二进制安装和rpm安装二选一)安装rabbitmq前必须先安装符合要求的erlang
3.1 下载RabbitMQ安装包。
cd /tmp && wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.7.12/rabbitmq-server-3.7.12-1.el7.noarch.rpm3.2 导入签名密钥。
rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc3.3 安装 socat
yum install socat -y3.3 安装RabbitMQ Server。
yum install rabbitmq-server-3.7.12-1.el7.noarch.rpm如果在此遇到的错误见显示的错误收录
3.4 允许RabbitMQ开机自启动。
systemctl enable rabbitmq-server3.5 启动RabbitMQ。
systemctl start rabbitmq-server3.6 暂停RabbitMQ。
systemctl stop rabbitmq-server 四 rabbitmq 二进制安装(rpm 安装和二进制安装二选一)安装rabbitmq前必须先安装符合要求的erlang
4.1 下载rabbitmq 二进制安装
cd /tmp && wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.7.12/rabbitmq-server-generic-unix-3.7.12.tar.xz4.2 解压
tar -xf rabbitmq-server*.tar.xz4.3 移动到指定路径
mv /tmp/rabbitmq_server-3.7.12 /usr/local/rabbitmq_server4.4 添加环境变量
vi + /etc/profile # 添加以下内容 export PATH=$PATH:/usr/local/rabbitmq_server/sbin4.5 环境变量生效
source /etc/profile4.6 启动rabbitmq server
rabbitmq-server4.7 后台启动
rabbitmq-server -detached4.8 关闭rabbitmq
rabbitmqctl shutdown4.9 创建配置文件
在 $ RABBITMQ_HOME 的目录下创建
#rabbitmq 配置文件 touch ./etc/rabbitmq/rabbitmq.conf #rabbitmq 环境变量文件 touch ./etc/rabbitmq/rabbitmq-env.conf4.10 设定 rabbitmq的家目录路径
vim ./sbin/rabbitmq-defaults # 修改 SYS_PREFIX = SYS_PREFIX =rabbitmq 家目录路径。 五 初始化并配置用户和启用web界面5.1 删除默认用户
对于生产环境,请删除默认用户(guest),默认用户只能从localhost 连接。
rabbitmqctl delete_user guest5.2 创建新用户并设置为管理员
建议每个应用程序都使用单独的用户。
rabbitmqctl add_user 用户名 密码 rabbitmqctl set_user_tags 用户名 administrator5.3 设置用户权限
设置用户djx 具有 /这个virtual host的所有的资源的配置、写、读权限
rabbitmqctl set_permissions -p / djx '.*' '.*' '.*'5.4 启用web 界面
rabbitmq-plugins enable rabbitmq_management5.5 访问
访问路径: :15672
出现以下界面就意味着搭建成功了
六 常用命令
6.1 查看rabbitmq server 状态
rabbitmqctl status6.2 查看已用的组件,内存使用情况,警报
rabbitmq-diagnostics status6.3 查看有效的节点配置
rabbitmq-diagnostics environment6.4 对本地节点执行更广泛的运行状况检查
rabbitmq-diagnostics node_health_check