在 Google Cloud Platform(GCP)Compute Engine 中部署 Meilisearch 实例

    使用我们的 GCP 自定义映像,Meilisearch 可以在 GCP 中于几分钟内完成部署。

    以下指南将指导您完成在 GCP Compute Engine 实例中部署 Meilisearch 的每个步骤。如果您对我们的 GCP 映像有任何问题,请在 此存储库 中创建问题。

    第 1 部分:部署 Meilisearch 实例

    1. 在你的 GCP 账户上导入 Meilisearch 自定义镜像

    Page titled 'Images'

    Adding image name(permanent), source, and cloud storage file

    meilisearch-image/meilisearch-v1.0.2-debian-10.vmdk
    

    meilisearch-example successfully imported

    2. 从已导入的镜像创建新的 GCP Compute Engine 实例

    The meilisearch-v-X-X-X instance

    Selecting the 'E2' series and 'e2-medium (2 vCPU, 4 GB memory)' machine type

    Selecting the 'Balanced persistent disk' Boot disk type and 10GB Size

    The meilisearch-gcp-test instance running successfully

    你可以通过将 GCP 提供的“外部 IP”地址复制并粘贴到你的浏览器中,或通过在你的终端上键入以下命令来检查你的实例是否正常运行

    curl http://<your-external-ip>/health
    

    服务器应答如下例所示,带有 200 OK 状态代码

    {"status": "available"}
    

    第 2 部分:将你的实例设置为生产环境

    在生产环境中配置你的 Meilisearch 实例并不是简单直接的 - 它是完全自动化的。与你的实例建立 SSH 连接,一个脚本将指导你完成此流程。

    1. 使你的域名指向你的实例 IP

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

    The my-gcp-instance domain

    你的域名现在应链接到你的 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.2. 运行配置脚本

    2.2.1 选项 1:使用 Google Cloud Console

    导航到“Compute Engine”->“VM 实例”。单击实例的名称,然后单击“SSH”按钮(确保已启用弹出窗口,否则可能会屏蔽窗口)。将建立连接并且脚本将自动运行。

    2.2.2 选项 2:将 SSH 密钥添加到 Compute Engine 元数据

    cat ~/.ssh/id_rsa.pub
    

    现在,使用 SSH 密钥上存在的相同用户名建立 SSH 连接。如果你正在添加本地系统密钥,则可能是你在本地系统上的用户名。要了解 UNIX 类系统中此用户名是什么,请运行命令

    whoami
    

    然后使用以下命令建立连接

    ssh <your-username>@<your-external-ip-or-domain-name>
    

    你应该看到类似以下内容

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

    如果这是你首次通过 SSH 访问实例,则会自动运行一个脚本,让你输入你的设置和所需的配置。如果你希望随时再次运行此脚本,可以使用以下命令

    meilisearch-setup
    

    3. 享受你已准备就绪的 Meilisearch 实例

    你的 Meilisearch 实例已在 GCP 上启动并运行,并已准备好用于生产。

    为了确保一切顺利运行,请对 /health 路由进行最终的 HTTP 调用

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

    请注意,这次我们正在使用 HTTPS。

    服务器应答如下例所示,带有 200 OK 状态代码

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

    您已做好准备,可以使用 GCP 在生产阶段使用 Meilisearch!如果您对我们的 GCP 镜像有任何问题,请在此存储库中创建一个难题。