华为云耀云服务器L实例-微人事前后端分离人力资源管理系统-RabbitMQ配置

134 阅读5分钟

华为云耀云服务器L实例-微人事前后端分离人力资源管理系统-RabbitMQ配置

image.png 产品官网:www.huaweicloud.com/product/hec…

项目源代码地址:github.com/lenve/vhr

image.png 今天我们采用可靠更安全、智能不卡顿、价优随心用、上手更简单、管理特省心的华为云耀云服务器L实例为例,介绍配置一个经典的微人事前后端分离人力资源管理系统的配置,它是一个前后端分离的系统,我们使用finalshell远程连接至服务器,开始配置RabbitMQ

1.2.2 RabbitMQ

RabbitMQ 是一个开源的消息代理软件,实现了高级消息队列协议(AMQP)。它提供了一种灵活的消息传递模型,用于在应用程序之间传递消息。以下是RabbitMQ的一些关键特点和用途:

 

1. 消息代理: RabbitMQ作为消息代理,负责接收、存储和转发消息。它允许应用程序在分布式系统中进行异步通信。

 

2. AMQP协议: RabbitMQ使用 AMQP 协议,这是一种开放的标准高级消息队列协议,它定义了一套规范,用于确保不同系统之间的消息传递的可靠性和互操作性。

 

3. 消息队列: RabbitMQ支持消息队列,允许生产者将消息发送到队列,并由消费者从队列中接收消息。这种模型允许解耦生产者和消费者,使它们能够独立进行工作。

 

4. 持久性: RabbitMQ允许消息的持久性存储,确保即使在代理重启后,也不会丢失重要的消息。这通过将消息存储在磁盘上来实现。

 

5. 灵活的路由: RabbitMQ提供了灵活的路由机制,通过交换器(Exchanges)和队列绑定来定义消息的路由规则。不同类型的交换器支持不同的路由策略,如直接、主题、扇出等。

 

6. 发布/订阅模型: RabbitMQ 支持发布/订阅模型,其中一个生产者可以向多个消费者广播消息。这适用于需要将消息传递给多个接收者的场景。

 

7. 可扩展性: RabbitMQ是可扩展的,允许构建具有高可用性和高性能的系统。它支持集群配置,可以水平扩展以处理更多的消息负载。

 

8. 插件系统: RabbitMQ提供了丰富的插件系统,可以通过插件来扩展其功能,例如支持其他协议、身份验证机制等。

 

由于这些特点,RabbitMQ 在分布式系统中广泛用于解决异步通信和消息传递的需求,支持各种应用场景,包括微服务架构、任务队列、日志处理等。

 

当在Ubuntu云服务器上部署RabbitMQ时,可以按照以下步骤进行:

 

### 步骤 1:更新软件包列表

 


sudo apt update

 

### 步骤 2:安装RabbitMQ

 


 

image.png ### 步骤 3:启动RabbitMQ服务

 


sudo service rabbitmq-server start

image.png ### 步骤 4:检查RabbitMQ服务状态

 


sudo service rabbitmq-server status

image.png 确保服务已经启动。

 

### 步骤 5:设置RabbitMQ管理插件(可选)

 

RabbitMQ提供了一个Web管理界面,你可以使用它来监视和管理RabbitMQ。安装RabbitMQ管理插件:

 


sudo rabbitmq-plugins enable rabbitmq_management

image.png ### 步骤 6:创建RabbitMQ管理员用户(如果启用了管理插件)

 


sudo rabbitmqctl add_user your_username your_password

sudo rabbitmqctl set_user_tags your_username administrator

sudo rabbitmqctl set_permissions -p / your_username ".*" ".*" ".*"

 

请将 your_username 和 your_password 替换为你想要的用户名和密码。

 

sudo rabbitmqctl add_user abyss 1231

sudo rabbitmqctl set_user_tags your_username administrator

sudo rabbitmqctl set_permissions -p / your_username "." "." ".*"

image.png  

### 步骤 7:访问RabbitMQ管理界面(如果启用了管理插件)

 

在浏览器中访问 http://your_server_ip:15672/,使用刚刚创建的管理员用户名和密码登录。

1.92.92.226

image.png  

### 注意事项:

 

- RabbitMQ服务默认监听5672端口,管理插件监听15672端口。确保这些端口在防火墙中是开放的(如果有防火墙规则的话),并将它们添加入安全组

image.png

确保RabbitMQ服务的相关端口在防火墙中开放的具体步骤如下:

 

### 使用ufw(Uncomplicated Firewall)开放端口

 

如果你使用了ufw作为防火墙工具,可以按照以下步骤开放端口:

 

1. 检查ufw状态:

 


sudo ufw status

 

    如果ufw未启用,你可以使用以下命令启用它:

 


sudo ufw enable

 

2. 开放RabbitMQ服务端口(5672):

 


sudo ufw allow 5672

 

3. 开放RabbitMQ管理插件端口(15672):

 


sudo ufw allow 15672

 

4. 重新加载ufw规则:

 


sudo ufw reload

 

### 使用iptables开放端口

 

如果你使用iptables作为防火墙工具,可以按照以下步骤开放端口:

 

1. 开放RabbitMQ服务端口(5672):

 


sudo iptables -A INPUT -p tcp --dport 5672 -j ACCEPT

 

2. 开放RabbitMQ管理插件端口(15672):

 


sudo iptables -A INPUT -p tcp --dport 15672 -j ACCEPT

 

3. 保存iptables规则:

 


sudo service iptables save

 

    或者,如果你使用iptables-persistent

 


sudo systemctl enable netfilter-persistent

sudo netfilter-persistent save

 

    或者,根据你的系统,可能还需要使用 iptables-save > /etc/iptables/rules.v4 来保存规则。

 

image.png  

这样,我们就成功在华为云耀云服务器L实例上部署了RabbitMQ。接下来,我将继续完成该微人事前后端分离人事系统在华为云耀云服务器L实例的部署。