[英]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.