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

发布时间 2023-12-29 17:38:45作者: 技术僧
 华为云耀云服务器L实例-微人事前后端分离人力资源管理系统-RabbitMQ配置

 

 

 

产品官网:https://www.huaweicloud.com/product/hecs-light.html

 

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

 

 

今天我们采用可靠更安全、智能不卡顿、价优随心用、上手更简单、管理特省心华为云耀云服务器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:更新软件包列表

 

```bash

sudo apt update

```

 

### 步骤 2:安装RabbitMQ

 

```bash

 

```

### 步骤 3:启动RabbitMQ服务

 

```bash

sudo service rabbitmq-server start

```

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

 

```bash

sudo service rabbitmq-server status

```

确保服务已经启动。

 

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

 

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

 

```bash

sudo rabbitmq-plugins enable rabbitmq_management

```

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

 

```bash

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 ".*" ".*" ".*"

 

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

 

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

1.92.92.226

 

### 注意事项:

 

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

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

 

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

 

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

 

1. **检查`ufw`状态:**

 

```bash

sudo ufw status

```

 

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

 

```bash

sudo ufw enable

```

 

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

 

```bash

sudo ufw allow 5672

```

 

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

 

```bash

sudo ufw allow 15672

```

 

4. **重新加载`ufw`规则:**

 

```bash

sudo ufw reload

```

 

### 使用`iptables`开放端口

 

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

 

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

 

```bash

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

```

 

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

 

```bash

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

```

 

3. **保存`iptables`规则:**

 

```bash

sudo service iptables save

```

 

    或者,如果你使用`iptables-persistent`:

 

```bash

sudo systemctl enable netfilter-persistent

sudo netfilter-persistent save

```

 

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

 

 

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