在 Amazon Web Services (AWS) 上部署 Meilisearch 实例
使用我们的 **Meilisearch AMI**,Meilisearch 可以在几分钟内部署到 AWS 上。
以下指南将引导您完成在 AWS EC2 实例中部署 Meilisearch 的每个步骤。如果您在使用我们的 AWS 镜像时遇到任何问题,请在此仓库中创建问题:此仓库。
第 1 部分:部署开箱即用的 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. 设置并下载密钥对
在您查看了实例配置后,在启动实例之前还有一个最后一步。
点击“启动”,然后会弹出一个窗口,要求您选择一个 **密钥对**。此密钥对非常重要,因为它将是您通过 SSH 访问实例的私钥,这对于 在生产环境中配置您的 Meilisearch 实例 是必需的。
如果您已拥有现有的密钥对,则可以使用它。否则,请选择“创建新的密钥对”选项并为其命名。然后,点击“下载密钥对”并将此文件存储在安全的地方。
下载密钥对后(且仅在此之后),点击“启动实例”,然后点击“查看实例”。
9. 尽情享受在 AWS 上运行的 Meilisearch 实例吧!
您的实例可能需要一两分钟才能启动并运行(请参阅“实例状态”列)。
一旦“实例状态”变为“运行中”,请使用您的网络浏览器导航到 AWS 实例仪表板中显示的“公共 IPv4 地址”或“公共 IPv4 DNS”。您应该会看到 Meilisearch 的搜索预览。
您的 Meilisearch 实例现在可以使用了!
请记住,您的 Meilisearch 实例目前在开发环境中运行,这对于生产使用是不安全的。如果您想设置生产环境,请继续到下一节。
否则,如果您想开始创建索引和添加文档,请随时查看我们的入门指南或API 参考。
当然,享受!
第 2 部分:配置生产设置
在生产环境中配置 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 镜像有任何问题,请在此存储库中创建一个问题。