代码之家  ›  专栏  ›  技术社区  ›  0xgio

将strapi推送到heroku不会生成.env文件,无法连接到postgres

  •  0
  • 0xgio  · 技术社区  · 4 年前

    我一直在关注strapi网站上的教程: https://docs.strapi.io/developer-docs/latest/setup-deployment-guides/deployment/hosting-guides/heroku.html#heroku-install-requirements

    然而,我进入了创建postgres配置的第5步,这一切都变得很奇怪。具体而言:

    heroku config:set MY_HEROKU_URL=$(heroku info -s | grep web_url | cut -d= -f2)
    heroku config:set APP_KEYS=$(cat .env | grep APP_KEYS | cut -d= -f2-)
    heroku config:set API_TOKEN_SALT=$(cat .env | grep API_TOKEN_SALT | cut -d= -f2)
    heroku config:set ADMIN_JWT_SECRET=$(cat .env | grep ADMIN_JWT_SECRET | cut -d= -f2)
    heroku config:set JWT_SECRET=$(cat .env | grep -w JWT_SECRET | cut -d= -f2)
    

    我不明白,当我甚至没有.env文件时,这些命令应该如何设置变量。

    如何从 DATABASE_URL ?文档说,我们需要包括以下变量 JWT_SECRET , APP_KEYS SALT 。我从哪里能买到这些?

    这部分应该解析 数据库URL 并生成环境变量?

    const config = parse(process.env.DATABASE_URL);
    

    还是我在这里感到困惑?

    该项目正在建设并成功推向heroku,但正在运行 heroku open 不起作用。

    此外,我碰巧在一个新的strapi项目中意外地让它发挥了作用。env是自己生成的,strapi服务器是在heroku上启动的。但现在,如果我删除.env,它甚至不会再次生成。

    这太令人沮丧了,我不知道如何让它在我的实际项目中发挥作用,而不是一个新项目。

    0 回复  |  直到 4 年前
        1
  •  1
  •   patatafly    4 年前

    您可以随机生成新密钥,并将它们添加到heroku配置变量中。您可以使用以下内容,而不是使用您正在使用的文档部分:

    heroku config:set APP_KEYS=$(openssl rand -base64 32)
    heroku config:set API_TOKEN_SALT=$(openssl rand -base64 32)
    heroku config:set ADMIN_JWT_SECRET=$(openssl rand -base64 32)
    heroku config:set JWT_SECRET=$(openssl rand -base64 32)
    

    这将为您生成新的密钥。然后添加 MY_HEROKU_URL 他们。

    推荐文章