在 Google Cloud Platform (GCP) Compute Engine 上部署 Meilisearch 執行個體

    透過我們的 GCP 自訂映像檔,Meilisearch 可以在幾分鐘內部署在 GCP 上。

    以下指南將逐步引導您在 GCP Compute Engine 執行個體中部署 Meilisearch 的每個步驟。如果您對我們的 GCP 映像檔有任何問題,請在此儲存庫中建立問題。

    第一部分:部署 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」->「虛擬機器執行個體」。點擊您的執行個體名稱,然後點擊「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 映像檔有任何問題,請在此儲存庫中建立問題。