使用我们的 Meilisearch AMI,您可以在几分钟内在 AWS 上部署 Meilisearch。

本指南将逐步引导您在 AWS EC2 实例上部署 Meilisearch。如果您在使用我们的 AWS 镜像时遇到任何问题,请在此仓库中提交 issue。

参考 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,这对于大多数小型数据集(<100万文档)已绰绰有余。“卷类型”设置为”通用型SSD(gp2)”。

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

6. 标签

标签用于在 AWS 中标识您的资源。Meilisearch 并不强制要求使用标签

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

7. 安全组:网络与连接

为了让您的 Meilisearch 实例与外界通信,必须允许 SSH 连接、HTTP 和 HTTPS 流量。

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

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

您也可以使用现有的安全组(如果更倾向于此)。

当您的配置与上图类似后,点击”审核和启动”。

8. 设置并下载密钥对

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

点击”Launch”按钮,会弹出一个窗口要求你选择密钥对。这个密钥对非常重要,它将作为你通过SSH访问实例的私钥,这是在生产环境中配置Meilisearch实例所必需的。

如果你已有现成的密钥对,可以直接使用。否则选择”Create a new key pair”选项并为其命名,然后点击”Download Key Pair”并将该文件保存在安全的地方。

确保已下载密钥对后(且仅在此之后),点击”Launch Instances”,然后点击”View Instances”。

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. 运行配置脚本

接下来,使用 Public IPv4 地址你的域名 建立新的 SSH 连接,用户名使用 ‘admin’。同时需要提供 .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 镜像有任何问题,请在 此仓库 提交 issue。