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

    使用我们的 GCP 自定义镜像,只需几分钟即可在 GCP 上部署 Meilisearch。

    以下指南将逐步引导您在 GCP Compute Engine 实例中部署 Meilisearch。 如果您在使用我们的 GCP 镜像时遇到任何问题,请在 此存储库 中创建一个 issue。

    第一部分:部署 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"}
    

    第二部分:将您的实例设置为生产环境

    在生产环境中配置 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 镜像时遇到任何问题,请在此存储库中创建一个 issue。