CentOS7中如何安装RabbitMQ

发布时间:2022-02-15 15:46:41 作者:iii
来源:亿速云 阅读:176
# CentOS7中如何安装RabbitMQ

## 前言

RabbitMQ是一个开源的消息代理和队列服务器,用于在分布式系统中存储转发消息。它实现了高级消息队列协议(AMQP),并支持多种消息传递模式。本文将详细介绍在CentOS 7系统中安装和配置RabbitMQ的完整过程,包括依赖安装、Erlang环境配置、RabbitMQ服务管理以及基础安全设置。

---

## 一、环境准备

### 1.1 系统要求
- CentOS 7.x 操作系统
- 最小化安装建议2GB内存
- root或具有sudo权限的用户

### 1.2 更新系统
在安装前建议更新系统软件包:
```bash
sudo yum update -y
sudo yum install epel-release -y

二、安装Erlang环境

RabbitMQ基于Erlang编写,需要先安装Erlang运行时环境。

2.1 添加Erlang仓库

# 导入仓库密钥
sudo rpm --import https://packages.erlang-solutions.com/ubuntu/erlang_solutions.asc

# 添加Erlang仓库
cat <<EOF | sudo tee /etc/yum.repos.d/rabbitmq-erlang.repo
[rabbitmq-erlang]
name=rabbitmq-erlang
baseurl=https://packages.erlang-solutions.com/rpm/centos/7/\$basearch
gpgcheck=1
gpgkey=https://packages.erlang-solutions.com/rpm/erlang_solutions.asc
enabled=1
EOF

2.2 安装Erlang

sudo yum install erlang -y

2.3 验证安装

erl -version

应显示类似:Erlang (SMP,ASYNC_THREADS) (BEAM) emulator version 11.1.8


三、安装RabbitMQ服务器

3.1 添加RabbitMQ仓库

cat <<EOF | sudo tee /etc/yum.repos.d/rabbitmq.repo
[rabbitmq-server]
name=rabbitmq-server
baseurl=https://packagecloud.io/rabbitmq/rabbitmq-server/el/7/\$basearch
gpgcheck=1
gpgkey=https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey
repo_gpgcheck=1
enabled=1
EOF

3.2 安装RabbitMQ

sudo yum install rabbitmq-server -y

3.3 启动服务

sudo systemctl start rabbitmq-server
sudo systemctl enable rabbitmq-server

3.4 检查状态

sudo systemctl status rabbitmq-server

正常应显示active (running)


四、基础配置

4.1 启用管理插件

sudo rabbitmq-plugins enable rabbitmq_management

4.2 创建管理员用户

sudo rabbitmqctl add_user admin your_password
sudo rabbitmqctl set_user_tags admin administrator
sudo rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"

4.3 防火墙配置

sudo firewall-cmd --permanent --add-port={4369/tcp,5672/tcp,15672/tcp,25672/tcp}
sudo firewall-cmd --reload

五、访问Web管理界面

通过浏览器访问:

http://your_server_ip:15672

使用创建的管理员账号登录(admin/your_password)


六、高级配置

6.1 配置文件位置

主配置文件位于:

/etc/rabbitmq/rabbitmq.conf

6.2 修改默认端口示例

listeners.tcp.default = 5673
management.tcp.port = 15673

6.3 集群配置(简要)

  1. 确保所有节点使用相同的Erlang cookie:
echo "MYRABBITMQCLUSTERCOOKIE" > /var/lib/rabbitmq/.erlang.cookie
  1. 加入集群:
rabbitmqctl stop_app
rabbitmqctl join_cluster rabbit@node1
rabbitmqctl start_app

七、常见问题解决

7.1 启动失败排查

journalctl -u rabbitmq-server -f

7.2 端口冲突处理

netstat -tulnp | grep 5672

7.3 重置节点状态

rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl start_app

八、安全加固建议

  1. 修改默认guest账户:
rabbitmqctl delete_user guest
  1. 启用SSL加密:
listeners.ssl.default = 5671
ssl_options.cacertfile = /path/to/ca_certificate.pem
ssl_options.certfile   = /path/to/server_certificate.pem
ssl_options.keyfile    = /path/to/server_key.pem
  1. 定期备份配置:
rabbitmqctl export_definitions /backup/rabbitmq_definitions.json

九、性能调优

9.1 内存配置

/etc/rabbitmq/rabbitmq-env.conf中添加:

RABBITMQ_USE_LONGNAME=true
RABBITMQ_NODENAME=rabbit@hostname
RABBITMQ_SERVER_ERL_ARGS="+K true +A30 +P 1048576 -kernel inet_default_connect_options [{nodelay,true}]"

9.2 磁盘空间监控

rabbitmqctl set_disk_free_limit 1GB

9.3 连接数限制

vm_memory_high_watermark.relative = 0.6
max_connections = 1000

十、卸载RabbitMQ

  1. 停止服务:
sudo systemctl stop rabbitmq-server
  1. 移除软件包:
sudo yum remove rabbitmq-server erlang
  1. 清理残留文件:
sudo rm -rf /var/lib/rabbitmq/
sudo rm -rf /etc/rabbitmq/

结语

本文详细介绍了在CentOS 7上安装配置RabbitMQ的全过程。通过正确的安装和配置,RabbitMQ可以成为您分布式系统中可靠的消息中间件。建议生产环境中结合监控工具如Prometheus和Grafana进行系统监控,并定期检查官方安全公告更新补丁。

注意:所有配置修改后都需要重启服务生效:

> sudo systemctl restart rabbitmq-server
> ```

如需更深入的集群配置和性能优化,建议参考官方文档:
https://www.rabbitmq.com/documentation.html
推荐阅读:
  1. CentOS7安装RabbitMQ3.7
  2. RabbitMq集群安装

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

centos rabbitmq

上一篇:zabbix怎么监控redis内存

下一篇:怎么选择一个合适的交换机

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》