Linux下安装RabbitMQ

摘要:为了简单起见,在安装过程中已默认关闭了firewalld防火墙 和 SELinux。实际生产中,则不这样子做,而是开放相应的端口,以增强安全性。

关闭firewalld防火墙 和 SELinux关闭命令如下:

//-----------------------------------关闭Firewalld防火墙
//1、停止firewalld服务
systemctl stop firewalld

//2、禁止firewalld开机启动
systemctl disable firewalld



//-----------------------------------关闭SELinux
//1、临时关闭
setenforce 0

//2、永久关闭SELinux
sed -i "s/^SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config

一、RabbitMQ介绍

      RabbitMQ是一个开源的AMQP实现,服务器端用Erlang语言编写,支持多种客户端,如:Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、XMPP、STOMP等,支持AJAX。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。

      AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,反之亦然。AMQP的主要特征是面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、安全。

二、下载RabbitMQ所需要的安装包,即Erlang 和 RabbitMQ

1、RabbitMQ是Erlang语言编写的,所以在安装RabbitMQ之前,需要先安装Erlang。但是在搭建RabbitMQ环境过程中,会因为RabbitMQ 和 Erlang的版本问题导致环境一直搭建不起来, 以下是RabbitMQ与Erlang的版本对应关系,所以这里我下载的RabbitMQ的版本为 3.7.16,Erlang的版本为22.0

也可以去官网查看RabbitMQ 和 Erlang的版本问题,网址:RabbitMQ Erlang Version Requirements — RabbitMQ

RabbitMQ版本 Erlang最低版本要求 Erlang最高版本要求
3.7.15 - 3.7.16 20.3.x 22.0.x
3.7.7 - 3.7.14 20.3.x 21.3.x
3.7.0 - 3.7.6 19.3 20.3.x

如果觉得下载比较繁琐,我已经提供了所需模块的安装包:

Erlang安装包:

链接:https://pan.baidu.com/s/1WxzA4AGexbHXSUoHYzJbWw 
提取码:c3we 

RabbitMQ安装包:

链接:https://pan.baidu.com/s/1fFy_rhYv0IHEhx58z-lsfw 
提取码:vht2 
 

2、进入Erlang官网,点击导航栏中的DOWNLOADS下载链接,进入Erlang下载页面,官网链接:Index - Erlang/OTP

3、点击OTP 22.0 Source File 链接进行下载

4、进入RabbitMQ官网,点击右边的RabbitMQ 3.7.16链接,官网链接:Messaging that just works — RabbitMQ

5、找到RabbitMQ 3.7.16 release 下的 RabbitMQ downloads链接并点击,进入到RabbitMQ的下载页面

### 安装 RabbitMQ 的步骤 #### 1. 安装 Erlang 依赖 RabbitMQ 是基于 Erlang 开发的,因此在安装 RabbitMQ 之前需要先安装 Erlang。 - **配置 Erlang 软件源** 在 CentOS 7 上,可以通过以下命令添加 Erlang 的软件源: ```bash curl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh | sudo bash ``` - **更新本地缓存** 添加软件源后,更新本地软件包缓存: ```bash sudo yum makecache ``` - **安装 Erlang 包** 使用以下命令安装 Erlang: ```bash sudo yum install -y erlang ``` #### 2. 安装 RabbitMQ - **添加 RabbitMQ 软件源** 添加 RabbitMQ 的官方软件源: ```bash curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | sudo bash ``` - **安装 RabbitMQ** 使用以下命令安装 RabbitMQ: ```bash sudo yum install -y rabbitmq-server ``` - **生成本地服务** 安装完成后,RabbitMQ 会自动注册为系统服务。可以通过以下命令查看服务状态: ```bash sudo systemctl status rabbitmq-server ``` - **启动 RabbitMQ 服务** 使用以下命令启动 RabbitMQ 服务: ```bash sudo systemctl start rabbitmq-server ``` - **查看服务状态** 确认 RabbitMQ 服务是否正常运行: ```bash sudo systemctl status rabbitmq-server ``` #### 3. 配置 RabbitMQ - **开启防火墙** 如果系统启用了防火墙,需要开放 RabbitMQ 的端口(默认为 5672): ```bash sudo firewall-cmd --permanent --add-port=5672/tcp sudo firewall-cmd --reload ``` - **SELinux 配置** 如果启用了 SELinux,需要确保 RabbitMQ 的数据目录和日志目录有正确的权限: ```bash sudo chcon -R -t var_lib_t /var/lib/rabbitmq/ sudo chcon -R -t var_log_t /var/log/rabbitmq/ ``` - **给 RabbitMQ 指定目录** 如果需要更改 RabbitMQ 的数据存储目录,可以在 `/etc/rabbitmq/rabbitmq.conf` 文件中配置: ```bash sudo nano /etc/rabbitmq/rabbitmq.conf ``` 添加以下行以指定新的数据目录: ```conf data_dir = /new/path/to/rabbitmq/data ``` - **开启 Web 管理控制台插件** RabbitMQ 提供了一个 Web 管理插件,可以通过以下命令启用: ```bash sudo rabbitmq-plugins enable rabbitmq_management ``` - **创建 RabbitMQ 账号** 使用以下命令创建一个新的 RabbitMQ 用户并设置密码: ```bash sudo rabbitmqctl add_user admin password sudo rabbitmqctl set_user_tags admin administrator sudo rabbitmqctl set_permissions -p / admin ".*" ".*" ".*" ``` - **进入 Web 管理控制台** 安装完成后,可以通过浏览器访问 RabbitMQ 的 Web 管理界面: ``` http://<your-server-ip>:15672/ ``` 使用之前创建的用户名和密码登录。 #### 4. 配置持久化 为了确保 RabbitMQ 的消息在重启后不会丢失,需要进行持久化配置。 - **调整配置文件** 编辑 `/etc/rabbitmq/rabbitmq.conf` 文件,添加以下持久化相关配置: ```conf disk_free_limit.absolute = 2GB queue_index_embed_msgs_below = 4096 msg_store_file_size_limit = 16777216 ``` - **应用配置** 保存配置文件后,重启 RabbitMQ 服务以应用新的配置: ```bash sudo systemctl restart rabbitmq-server ``` #### 5. 源代码详细实现和代码解读 如果需要从源代码编译 RabbitMQ,可以参考 RabbitMQ 的官方文档,获取详细的编译和安装步骤。 --- ###
评论 91
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值