首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在google云平台上部署strapi?

如何在google云平台上部署strapi?
EN

Stack Overflow用户
提问于 2019-04-15 16:36:38
回答 1查看 4K关注 0票数 3

我正在尝试在google cloud app engine (标准环境)上部署strapi,但是我一直收到一个500服务器错误。我用谷歌搜索了一遍,但还没有关于如何在AE上成功部署strapi的指南。

我尝试了这个帖子上的建议:https://github.com/strapi/strapi/issues/2146,所以我有:

更新用于在app.yaml中安装dependencies

  • an入口点的gcp构建脚本以启动strapi

  • my database.json和server.json in strapi in

但它似乎对我不起作用。我一直收到以下错误:

我试着用谷歌搜索那个错误“应用/无效”,但是我似乎找不到任何关于它的东西。

我也给了flex env一个旋转,但也失败了(没有正确的错误)。

这是我的app.yaml文件:

代码语言:javascript
复制
runtime: nodejs10
instance_class: F2
service: admin
entrypoint: node_modules/strapi/bin/strapi.js
env_variables:
  DATABASE_HOST: "host"
  DATABASE_PORT: 27017
  DATABASE_NAME: "db"
  DATABASE_USERNAME: "name"
  DATABASE_PASSWORD: "pw"
  DATABASE_SRV: true
  DATABASE_AUTHENTICATION_DATABASE: "admin"
  DATABASE_SSL: true
  NODE_ENV: "production"
  PORT: 1337

这是我的package.json (重要部分):

代码语言:javascript
复制
...
  "scripts": {
    "strapi": "node_modules/strapi/bin/strapi.js",
    "gcp-build": "node node_modules/strapi/lib/utils/post-install.js && cd admin && npm run setup"
  }
...
  "engines": {
    "node": ">=10.0.0",
    "npm": ">=6.0.0"
  },

生产database.json:

代码语言:javascript
复制
{
  "defaultConnection": "default",
  "connections": {
    "default": {
      "connector": "strapi-hook-mongoose",
      "settings": {
        "client": "mongo",
        "host": "host",
        "port": 27017,
        "database": "db",
        "username": "name",
        "password": "pw",
        "srv": true
      },
      "options": {
        "authenticationDatabase": "admin",
        "ssl": true
      }
    }
  }
}

最后,这是我的server.json文件:

代码语言:javascript
复制
{
  "host": "https://admin-dot-ootje-website.appspot.com",
  "port": 1337,
  "production": true,
  "proxy": {
    "enabled": false
  },
  "autoReload": {
    "enabled": false
  },
  "cron": {
    "enabled": false
  },
  "admin": {
    "autoOpen": false
  }
}

我希望从AE的入门指南中可以看到这一点,但我似乎遗漏了一些东西。有人知道这个错误是什么意思吗?有没有人已经在AE上部署了strapi?

如果我让它正常工作,我想把它添加到strapi文档或medium帖子中,让其他人发现它比我更容易:)

提前感谢!

EN

回答 1

Stack Overflow用户

发布于 2019-04-19 06:38:34

我认为你的问题是由server.json文件提供的。

此配置在我这边有效:

代码语言:javascript
复制
{
  "host": "localhost",
  "port": "${process.env.PORT || 1337}",
  "production": true,
  "proxy": {
    "enabled": false      
  },
  "autoReload": {
    "enabled": false
  },
  "cron": {
    "enabled": false
  },
  "admin": {
    "autoOpen": false
  }
}

我正在编写一个新的配置文件,以便让身份验证提供程序正常工作……以及其他一些功能。但是这个第一个版本对我来说是有效的。

如果你需要,我会随时更新我的搜索结果。

##更新1 ##

我发现在生产模式下GCP的配置很好。如果其他人需要,我会分享它:

代码语言:javascript
复制
{
  "host": "localhost",
  "port": "${process.env.PORT || 1337}",
  "production": true,
  "proxy": {
    "enabled": true,
    "ssl": true,
    "host": "[project-name].appspot.com",
    "port": 443
  },
  "autoReload": {
    "enabled": false
  },
  "cron": {
    "enabled": false
  },
  "admin": {
    "autoOpen": false
  }
}

我在GCP上使用flexible环境,但我认为这可以在标准模式下工作。

谢谢,

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55685330

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档