簡體   English   中英

Node.js strApi 連接到谷歌雲

[英]Node.js strApi connect to Google Cloud

我有一個 api,我可以在本地機器上完美運行。 它使用 msql 這是我所做的:

當地的:

./enviroments/development/database.json

{
    "defaultConnection": "default",
    "connections": {
        "default": {
            "connector": "strapi-hook-bookshelf",
            "settings": {
                "client": "mysql",
                "host": "127.0.0.1",
                "srv": false,
                "port": 3306,
                "database": "[REDACTED]",
                "username": "[REDACTED]",
                "password": "[REDACTED]"
            },
            "options": {
                "ssl": false
            }
        }
    }
}

./enviroments/development/server.json

{
  "host": "localhost",
  "port": 1337,
  "proxy": {
    "enabled": false
  },
  "autoReload": {
    "enabled": true
  },
  "cron": {
    "enabled": false
  },
  "admin": {
    "autoOpen": true
  }
}

然后我啟動 MAMP 並在 phpmyadmin 中導入數據庫。 完美一切正常。

現在我想讓它活起來。 所以我正在使用谷歌雲。 我已經在谷歌雲平台上創建了一個 msql 實例我已經創建了一個數據庫“測試”

我的問題是我的 database.json 現在應該是什么樣子?

我努力了

    {
        "defaultConnection": "default",
        "connections": {
            "default": {
                "connector": "REDACTED",
                "settings": {
                    "client": "mysql",
                    "host": "Public IP address i found on googleCloud platform",
have also tried /cloudsql/[REDACTED]

i have tried to put in
"socketPath": "/cloudsql/${process.env.INSTANCE_CONNECTION_NAME}"


                    "srv": false,
                    "port": 3306,
// dont know what the port should be
                    "database": "test",
                    "username": "REDACTED",
                    "password": "REDACTED"
                },
                "options": {
                    "ssl": false
                }
            }
        }
    }

我嘗試設置 app.yaml 文件。 我讓它工作的關閉是當我部署它時它說服務器錯誤 500。在所有其他情況下它只是失敗了。

誰能幫我正確的設置,因為我不知道我在做什么想學習如何做到這一點,我已經花了一整天的時間:(但無處可去

我現在已經嘗試過了。 這是我的 app.staging.yaml

runtime: nodejs10
service: strapi

env_variables:
  NODE_ENV: staging
  MYSQL_USERNAME: REDACTED
  MYSQL_PASSWORD: REDACTED
  MYSQL_DATABASE: test
  INSTANCE_CONNECTION_NAME: REDACTED"
beta_settings:
  cloud_sql_instances: "REDACTED"

我的 config/staging/databse.json 看起來像這樣

{
    "defaultConnection": "default",
    "connections": {
        "default": {
            "connector": "strapi-hook-bookshelf",
            "settings": {
                "client": "mysql",
                "host": "${process.env.MYSQL_HOST || '127.0.0.1'}",
                "port": "${process.env.MYSQL_PORT || '3306'}",
                "database": "${process.env.MYSQL_DATABASE}",
                "username": "${process.env.MYSQL_USERNAME}",
                "password": "${process.env.MYSQL_PASSWORD}",
                "socketPath": "/cloudsql/${process.env.INSTANCE_CONNECTION_NAME}"
            },
            "options": {}
        }
    }
}

已部署,但當我訪問它說的鏈接時

錯誤:服務器錯誤 服務器遇到錯誤,無法完成您的請求。 請在 30 秒后重試。

“NodeJS”可以是任何東西,例如INSTANCE_CONNECTION_NAME App Engine Standard

您可能必須創建用戶並配置訪問權限。

請參閱使用代理從外部應用程序連接

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM