使用我们的 Meilisearch AMI,只需几分钟即可在 AWS 上部署 Meilisearch。

本指南将引导您完成在 AWS EC2 实例中部署 Meilisearch 的每一个步骤。如果您在使用我们的 AWS 镜像时遇到任何问题,请在此存储库中创建一个问题。

请参阅 AWS 文档,了解有关创建和配置实例的更多信息。

第一部分:部署一个开箱即用的 Meilisearch 实例

1. 从 AWS 控制台启动实例

登录您的AWS 控制台后,导航到“计算”服务。然后前往“EC2”,最后打开您的“实例”控制台。

在右上角,点击“启动实例”按钮,开始配置您的 Meilisearch 实例。

2. 从“社区 AMI”中选择“Meilisearch”AMI

您现在将选择用于运行实例的 AMI 或系统镜像。在搜索栏中输入 meilisearch,然后选择左侧边栏上的“社区 AMI”选项卡。Meilisearch 的所有者 ID 是 567502172578。

点击“选择”(屏幕右侧)以确认您的选择。

3. 大小和规格

选择您希望 Meilisearch 运行的服务器规格。

我们建议优先分配内存以获得更好的 Meilisearch 性能。

免费套餐足以用于测试或原型,但不建议用于大型数据集。

做出选择后,点击“下一步:配置实例详情”继续。

4. 实例详情

在这里您可以指定实例的详细信息。由于**此部分不是运行 Meilisearch 所必需的**,因此我们不会在本指南中介绍它。

点击“下一步:添加存储”继续。

5. 存储

为您的 Meilisearch 实例选择存储**设备**和**大小**。

所需的存储空间量根据您计划索引的数据量可能大幅变化。在此示例中,我们将使用 25 GiB,这对于大多数小型数据集(< 1 百万文档)来说绰绰有余。我们将“卷类型”设置为“通用型 SSD (gp2)”。

准备就绪后,点击“下一步:添加标签”继续。

6. 标签

标签用于在 AWS 中识别您的资源。**Meilisearch 不需要它们**。

点击“下一步:配置安全组”。

7. 安全组:网络和连接

为了让您的 Meilisearch 实例与外部世界通信,允许 SSH 连接、HTTP 和 HTTPS 流量非常重要。

  • 点击“添加规则”并从下拉菜单中选择“SSH”。这将打开 SSH 端口 (22)
  • 点击“添加规则”并从下拉菜单中选择“HTTP”。这将打开 HTTP 端口 (80)
  • 点击“添加规则”并从下拉菜单中选择“HTTPS”。这将打开 HTTPS 端口 (443)

默认情况下,打开的端口接受来自任何来源的入站流量。如果您希望限制允许请求您的 Meilisearch 实例的 IP 地址,请转到“源”列并选择“自定义”选项。“源”默认设置为“Anywhere”。

如果需要,您也可以**使用现有安全组**。

一旦您的配置看起来与上图相似,点击“审核和启动”。

8. 设置并下载密钥对

审查完实例配置后,在启动实例之前还有最后一步。

点击“启动”,弹出的窗口将要求您选择一个**密钥对**。此密钥对非常重要,因为它将是您通过 SSH 访问实例的私钥,这是在生产环境中配置 Meilisearch 实例所必需的。

如果您有现有的密钥对,可以使用它。否则,选择“创建新密钥对”选项并为其命名。然后,点击“下载密钥对”并将此文件安全地存储起来。

下载密钥对后(且仅在此之后),点击“启动实例”,然后点击“查看实例”。

9. 享受在 AWS 上运行的 Meilisearch 实例

您的实例可能需要一两分钟才能启动并运行(请参阅“实例状态”列)。

一旦“实例状态”显示为“运行中”,请使用您的网络浏览器导航到 AWS 实例仪表板中显示的“公共 IPv4 地址”或“公共 IPv4 DNS”。您应该会看到 Meilisearch 的本地预览。

您的 Meilisearch 实例现在已准备就绪,可以使用了!

请记住,您的 Meilisearch 实例目前在*开发环境*中运行,这对于生产使用是不安全的。如果您想设置*生产环境*,请继续阅读下一节

否则,如果您想开始创建索引和添加文档,请随时查阅我们的入门指南API 参考

当然,**尽情享受**吧!

第二部分:配置生产设置

在生产环境中配置您的 Meilisearch 实例不仅简单明了,而且完全自动化。只需与您的实例建立 SSH 连接,脚本将引导您完成整个过程。

1. 将您的域名指向实例 IP

如果您想使用自己的域名(或子域名),请在您的域名提供商账户中添加一个 A 记录。否则,**您可以跳过此步骤**。

您的域名现在应该已链接到您的 Meilisearch 实例。运行健康检查以验证您的实例正在运行并且 DNS 配置良好

curl -v http://<your-domain-name>/health

服务器应返回 200 OK 状态码,如下例所示

...
< HTTP/1.1 200 OK
...

2. 设置 API 密钥和 SSL (HTTPS)

Meilisearch 目前在**开发**环境中运行。您尚未设置**API 密钥**,这意味着任何人都可以从您的 Meilisearch 读取/写入,并且您尚未使用 HTTPS,这使得此配置对于**生产**环境不安全。

要开始配置过程,请通过 SSH 连接到您的新 Meilisearch 实例,并按照出现的说明操作。

2.1. 保护您的密钥对

打开终端窗口,并导航到您保存密钥对的位置。它应该是一个 `.pem` 文件。

运行以下命令来保护您的密钥对。

chmod 400 <YourMeilisearchKeyPair>.pem

2.2. 运行配置脚本

接下来,使用‘admin’作为用户名,与**公共 IPv4 地址**或**您的域名**建立新的 SSH 连接。您还需要提供 `.pem` 文件的相对路径。

ssh -i <relative-path-to-your-key-pair> admin@<your-ipv4-address>
ssh -i <relative-path-to-your-pem-file> admin@<your-domain-name>

您应该会看到类似以下内容

________________________________________________
________________________________________________
             _ _ _ __                     _
  /\/\   ___(_) (_) _\ ___  __ _ _ __ ___| |__
 /    \ / _ \ | | \ \ / _ \/ _` | '__/ __| '_ \
/ /\/\ \  __/ | | |\ \  __/ (_| | | | (__| | | |
\/    \/\___|_|_|_\__/\___|\__,_|_|  \___|_| |_|

________________________________________________
________________________________________________

当被问及是否要在生产环境中使用 Meilisearch 时,输入 yes 并按 Enter 接受认证过程。

脚本将自动运行,询问您的设置和所需配置。如果您想随时再次运行此脚本,可以使用以下命令进行操作

meilisearch-setup

3. 享受您即刻可用的 Meilisearch 实例

您的 Meilisearch 实例已在 AWS 上启动并运行,并已准备好在**生产**环境中使用。

要检查一切是否运行顺畅,请再次对 `/health` 路由进行 HTTP 调用

curl -v https://<your-domain-name>/health

请注意,这次**我们使用的是 HTTPS。**

服务器应返回 200 OK 状态码,如下例所示

...
< HTTP/1.1 200 OK
...

您已准备好在 AWS 上将 Meilisearch 用于生产环境!如果您在使用我们的 AWS 镜像时遇到任何问题,请在此存储库中创建一个问题。